使用NVM设置特定本地项目的NPM版本

laawzig2  于 2022-11-14  发布在  其他
关注(0)|答案(1)|浏览(297)

我可以使用nvm use {version}命令切换节点版本。由于项目使用的节点版本不同,我希望本地项目使用特定版本而不切换版本。但当我使用nvm use {version}时,版本是全局设置的。
我读here时可以用local.nvmrc在工程中然后通过CLI nvm use来触发它从.nvmrc中取版本号。
不知何故,.nvmrc在项目中被gitignored。我希望一个项目的所有开发人员都使用相同版本的Node。
还有别的选择吗?
PS:是的,我可以修改.gitignore文件。但是这是由于未知的历史原因设置的。在我在本地.nvmrc上找到答案之前,让我们找到替代方案👍

hi3rlvi2

hi3rlvi21#

项目根目录中的以下文件设置应防止继续执行违反项目引擎要求的npm install命令。
您可能会创建预提交钩子来检查和防止节点和npm版本要求比您的引擎设置更严格,但也许引擎设置应该与您的开发人员要求保持一致。
package.json

"engines": {
    "node": ">=16.13.2",
    "npm": ">=8.1.2"
  },

.npmrc

engine-strict=true

如果你的答案需要严格符合文章的标题,涉及到nvm(“使用NVM来设置NPM版本”),并且这需要自动化,那么你可能需要集成一个脚本来处理nvm本身的检查和节点版本管理到你项目中最早和/或最常用的开发人员工作流中。(npm installnpm run dev等)
维护这种自动化可能会很麻烦,尤其是在您需要管理跨平台差异(nvmnvm-windows等)的情况下,而且这个问题似乎会扩散到更大的开发人员环境中,可能超出了单个项目的范围。

相关问题