Npm 为什么从package-lock.json中删除版本前的“^”符号
我注意到,每当我执行Npm 为什么从package-lock.json中删除版本前的“^”符号,npm,webpack,npm-install,package.json,package-lock.json,Npm,Webpack,Npm Install,Package.json,Package Lock.json,我注意到,每当我执行npm安装--save,我的package lock.json文件都会被修改,并且^符号会从版本中删除 比如说, "@babel/core": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.2.tgz", "integrity": "sha512-eeD7VEZKfhK1KUXGiyPFettgF3m513f8FoBS
npm安装--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
文件。但是有没有一种方法可以在保持包锁.json
最新的同时保留^
更新:
我安装的npm版本是5.6.0 包锁文件背后的全部思想是,无论在什么环境下安装,都将获得一致的安装。
这意味着安装的版本必须固定到特定版本这是否回答了您的问题?