package.json依赖项确切版本无效

时间:2016-07-25 12:30:30

标签: javascript jquery npm npm-install package.json

这是我的package.json

的摘录
"dependencies": {
    [...]
    "jquery": "2.2.3",
    [...]
}

根据package.json documentation("必须匹配版本完全")当您执行npm install时,它应该获得版本2.2.3的jQuery。

当我发现在我的node_modules/jquery/dist文件夹中有一个jquery.js文件说: jQuery JavaScript Library v3.0.0 (当然,打破了我的一些代码)

这里发生了什么?这是一个错误吗?这是预期的行为,因为其他一些依赖项有一个jQuery@3.0.0子依赖项? 当我将插入符号放在版本号("jquery": "^2.2.3")之前时也会出现同样的情况。无法在文档中,在SO或谷歌上找到任何相关信息,所以任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

您是否有npm-shrinkwrap.json文件,这使得npm忽略对package.json依赖项的所有更改(devDependencies不受影响)并且具有硬编码的jquery@3.0.0版本?

删除该文件并再次运行npm install

如果需要,之后再次运行npm shrinkwrap以使用新版本号重新创建shrinkwrap文件。

请参阅此处的文档:https://docs.npmjs.com/cli/shrinkwrap