我注意到每当我这样做时npm install --save
,我的package-lock.json
文件都会被修改,并且^
从版本中删除了符号。
例如,
"@babel/core": {
"version": "7.7.2",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.2.tgz",
"integrity": "sha512-eeD7VEZKfhK1KUXGiyPFettgF3m513f8FoBSWiQ1xTvl1RAopLs42Wp9+Ze911I6H0N9lNqJMDgoZT7gHsipeQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.5.5",
"@babel/generator": "^7.7.2",
"@babel/helpers": "^7.7.0",
"@babel/parser": "^7.7.2",
"@babel/template": "^7.7.0",
"@babel/traverse": "^7.7.2",
"@babel/types": "^7.7.2",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"json5": "^2.1.0",
"lodash": "^4.17.13",
"resolve": "^1.3.2",
"semver": "^5.4.1",
"source-map": "^0.5.0"
}
变成
"@babel/core": {
"version": "7.7.2",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.2.tgz",
"integrity": "sha512-eeD7VEZKfhK1KUXGiyPFettgF3m513f8FoBSWiQ1xTvl1RAopLs42Wp9+Ze911I6H0N9lNqJMDgoZT7gHsipeQ==",
"dev": true,
"requires": {
"@babel/code-frame": "7.5.5",
"@babel/generator": "7.7.2",
"@babel/helpers": "7.7.0",
"@babel/parser": "7.7.3",
"@babel/template": "7.7.0",
"@babel/traverse": "7.7.2",
"@babel/types": "7.7.2",
"convert-source-map": "1.7.0",
"debug": "4.1.1",
"json5": "2.1.1",
"lodash": "4.17.15",
"resolve": "1.12.0",
"semver": "5.7.1",
"source-map": "0.5.7"
}
我无法弄清楚为什么会这样。了解通过提供--no-package-lock
标志将防止修改现有package-lock.json
文件。但是有没有办法在保持最新的^
同时保持package-lock.json
最新状态?
更新:我安装的 npm 版本是 5.6.0。