npm5.4.2 之后锁版本场景
2020-05-14 本文已影响0人
草珊瑚_6557
场景1:
只有一个 package.json 文件,
运行 npm i
会根据它生成一个 package-lock.json 文件。
场景2:
package.json 的 semver-range version 和 package-lock.json 中版本兼容。
执行 npm i
根据 package-lock.json 下载。
场景3:
手动修改 package.json 的 version ranges,且和 package-lock.json 中版本不兼容,
执行 npm i
时 package-lock.json 将会更新到兼容 package.json 的版本。
场景4:
package-lock.json会根据项目已存的node_modules下的npm包的 package.json 的 _resolved 字段,
去更新package-lock.json自己的_resolved 字段。
同个项目在不同环境下安装依赖有可能会更新package-lock.json文件。
最佳实践是在项目根目录下创建一个 .npmrc 文件来指定 npm 源。比如
registry=https://registry.npm.taobao.org