Rus*_*der 5 npm npm-install npm-ci
这里https://github.blog/2021-02-02-npm-7-is-now-generally-available/ 说:
锁文件 v2 解锁了进行确定性和可重复构建以生成包树的能力。
但我想知道这是 npm 7 现在的默认行为吗?也就是说,如果有一个package-lock.json将使用不精确的版本(例如from)npm install更新最顶层的软件包,或者它将始终以与以前相同的方式工作?^1.0.0package.jsonyarn
如果npm install现在是确定性的,如果我说这npm ci基本上相当于
rm -rf node_modules && npm install
Run Code Online (Sandbox Code Playgroud)
一些额外的检查?
简短回答:
是的!
较长的答案:
如果您有 apackage-lock.json或yarn.lock文件,则npm或yarn分别会产生确定性结果。
这里需要注意的一件事是,使用yarn.lock 文件的yarn 仅针对特定版本的yarn 生成确定性构建。
鉴于yarn.lock 和Yarn 版本的单一组合,Yarn 安装保证是确定性的。不同版本的 Yarn 可能会导致磁盘上的树布局不同。
而 npm 的算法允许它即使对于不同版本的 npm 也能产生确定性结果,因为 npm 树构建契约完全由 package-lock.json 文件指定。
您可以在此博客中找到两者的更详细解释
| 归档时间: |
|
| 查看次数: |
730 次 |
| 最近记录: |