在节点版本之间自动切换的最佳方法是什么?

What is the best way to automatically switch between node versions?

当您处理两个项目并且一个项目依赖于节点 v 8 而另一个项目依赖于节点 v 10 时,您必须以某种方式在它们之间切换。

  1. 不方便的方法: 这 方便,因为当我刚进入项目目录的根目录或刚打开新的终端会话时,我必须始终记住键入 nvm use。 所以当你在做一些项目时,你可以进入根目录和 运行 nvm use 它会从你的 .nvmrc 中获取节点版本,你可以在这个项目上工作终端会话。 与另一个项目相同 - nvm use 并在此终端会话中工作。

  2. 方便但不可靠的方法: 这是 可靠的方式,因为并非所有开发人员都在这里 $HOME/.nvm/nvm.sh 并且我不喜欢这种 nvm 路径的硬编码,因为它看起来有些脏破解。 按照此 thread 中的答案进行操作并获得一些工作方法。这意味着仅对于我个人的本地开发它会起作用(我已经尝试过此线程但由于此错误而无法正常工作,我不知道这意味着什么)

    $ source $HOME/.nvm/nvm.sh && nvm use && nodemon ts-node -r tsconfig-paths/register src/main.ts nvm is not compatible with the "PREFIX" environment variable: currently set to "/usr/local" Run unset PREFIX to unset it.

  3. package.json 引擎

我试过将 "engines": {"node" : "10.14.1"}, 写入我的 package.json 但是当我开始 yarn - 节点没有更改为 10.14.1(它已经安装在我的笔记本电脑上)

我不知道还有什么方法可以方便可靠地更改我的节点版本,只是 运行宁 yarn start。你知道一些方法吗?或者您可能知道一些最佳做法?

一段时间后,我重新安装了 OS 并尝试使用 ZSH 终端。有一个 zsh-nvm 插件,它会在您每次执行 cd 时检查 .nvmrc。方便的。到目前为止还不错。