Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Npm 为什么从package-lock.json中删除版本前的“^”符号_Npm_Webpack_Npm Install_Package.json_Package Lock.json - Fatal编程技术网

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

包锁文件背后的全部思想是,无论在什么环境下安装,都将获得一致的安装。
这意味着安装的版本必须固定到特定版本

这是否回答了您的问题?