除了反复试验之外,还有其他方法可以检测我应该在存储库上使用哪个节点版本?
随着 Web 框架的快速兴起,回到 6、12 或 24 个月前的项目已经成为一种普遍的需求。过去几周我一直在做这件事,我检测正确节点版本的过程变成了:
git clone [REPO]
npm i
[build]
### if error
rm -r node_modules
nvm use 4, 5 or 6
npm i
[build]
我不禁觉得这里缺少一些非常基本的东西。感谢您与我分享的任何智慧!
原文由 coiso 发布,翻译遵循 CC BY-SA 4.0 许可协议
正如其他答案中提到的,一些包在 --- 中有一个
engines
package.json
。npm
如果用户尝试在包不支持的 Node.js 版本上安装包,将警告用户。engines
字段如下所示:更多信息: https ://docs.npmjs.com/files/package.json#engines
此外,许多包都有一个 CI,如 TravisCI,设置为自动测试包。这些 CI 配置文件通常包含要测试的 Node.js 版本列表。通常,CI 配置中的最低版本号是包支持的最低版本。
常见的配置文件名是
.travis.yml
,appveyor.yml
,circle.yml
等。例子:
.travis.yml
:这个配置意味着这个包可能支持 Node.js v4+