我有一个使用 node.js 14.16.0 的项目。我和我的团队成员都使用该版本。
我使用 npm 6.14.11,我的团队成员使用 npm 7.x.x。
这会导致 package-lock.json 不同;这lockFileVersion
我的电脑上的属性为 1,但他们的电脑上的属性为 2。
我已经使用了nvm
并正在考虑添加一个.nvmrc
所以每个人总是使用相同的节点版本,但这并不能解决 npm 版本问题。
我相信使用已安装的 Node.js 版本提供的 npm 版本是个好主意。如果下一个大型 LTS 版本使用新的 npm 版本,该项目将切换到该版本。但在NPM 网站 https://www.npmjs.com/get-npm他们说:
npm 是一个独立于 Node.js 的项目,并且更新更频繁。因此,即使您刚刚下载了 Node.js(以及 npm),您也可能需要更新 npm。幸运的是,npm 知道如何自我更新!
这让我相信我应该经常更新。
但他们也说:
Node.js 有很多版本!要有效地使用 Node.js 以及 npm,您需要确保您使用的是 Node.js 团队支持的版本。一般来说,您应该使用标记为“LTS”的 Node.js 版本。
这让我相信我不应该更新而只使用 node.js 提供的一个。
最佳实践是什么?
npm 有一个 LTS 的概念。他们曾经标记一个版本lts
所以你可以npm install -g npm@lts
并获取最新的 lts 版本,但遗憾的是,没有更多了。
npm 将继续支持 npm 的任何主要版本,只要它附带的节点版本仍然受支持。因此,他们将支持 npm@6 直到 14 终止,因为 npm@6 随版本 14 一起提供。
也就是说,npm@7 是 npm 的当前版本,只要 14 支持,它也将在 14 上得到支持。
如果您不想强迫您的同事更新,npm@6
只要支持 Node.js 14,就会继续接收更新。我建议更新到最新版本npm@6
with npm install -g npm@6
尽管。任一版本 (npm@6
or npm@7
)应该工作得很好。您只需与同事一起选择一个即可避免package-lock.json
搅动(或不关心锁文件搅动)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)