缘由
package.json文件中列出了我们需要的npm包依赖,正常情况下都是直接npm install即可,并没有在意。可是前段时间新来同事发现项目出现问题了。找了好久,都是同样的代码。我的可以正常运行,同事的却不行。 最后发现是公共库的版本问题导致
考虑到package.json文件中包版本中的^符号匹配的范围比较大。参考npm官方给出的解释:
^1.2.3 := >=1.2.3 <2.0.0
^0.2.3 := >=0.2.3 <0.3.0
^0.0.3 := >=0.0.3 <0.0.4
于是怀疑是我俩的环境中安装依赖包的小版本不同。于是使用npm ls命令查看:
npm ls --depth 0 --prod
说明
"dependencies": { "jquery": "~2.2.3"} (只是允许小版本的修复变更,即2.2.X)
"dependencies": { "jquery": "^2.2.3"} (允许小版本的变更,即 2.X.X)
"dependencies": { "jquery": "*"} (无限制)
锁定依赖
默认情况下,当用 --save/-S