nvm 的替代品?

cor*_*ons 7 node.js npm nvm

我真的只需要一些我可以检查到版本控制的东西来声明一个 Node 版本,并在他们在那个目录中时在某人的 shell 中换出 Node 版本。

.nvmrc 应该这样做,但没有对 Fish 的官方支持,并且解决方法是垃圾。

这看起来并不复杂。有什么新的/轴来代替 nvm 吗?

Nic*_*ico 11

我用volta作为替代品。它不使用 ,.nvmrc而是使用package.json.

在我看来,这是一个很好的解决方案,因为它使用垫片,因此它完全独立于您使用的 shell。它不必集成在那里。您(或安装)将 volta 放入操作系统的 PATH 变量中,而不是进行正常的节点安装。所以你通常使用node, npm, yarn, ... ,但在内部它调用 volta ,并且 volta 检查你的package.json并使用在那里配置的节点/纱线/...版本,或者如果没有 volta 配置则使用全局版本。因此,如果您使用 volta 切换项目,cd ../xyz也会更改节点版本,或者在缺少节点版本时安装它,而无需运行命令或其他操作。所以没有nvm use或者fnm use没有必要。

除了IntelliJ-Issue WEB-44867(需要一些手动额外配置)之外,它对我来说非常适合。


小智 7

我知道这是一个老问题,并且首先出现在我的搜索中。

fnmhttps://github.com/Schniz/fnm似乎是 Rust 中的一个很好的替代构建。与 相比,它的速度非常快nvm


Aru*_*uri 6

我使用https://github.com/tj/n(Node.js 版本管理:没有子 shell,没有配置文件设置,没有复杂的 API,只是简单)


cor*_*ons 5

我使用鱼壳,所以https://github.com/fisherman/fnm真的很好。代替所有这些功能,https://github.com/tj/n很简单并且可以在任何地方使用。

  • 我不想给人留下混蛋的印象,但如果您是 Microsoft 特定产品或视频游戏以外的开发人员,我强烈建议您安装 VirtualBox + Ubuntu 的副本并强制自己使用 Linux 。如果没有大量的变通办法,一半的常见开发工具就无法在 Windows 上运行。相反,我建议查看 https://github.com/asdf-vm/asdf - 我还没有,但它看起来比其他选择更好......但是说实话,我一直很高兴使用`已经很多年了。 (5认同)
  • `n` 在 Windows 上不起作用,`fnm` 也不起作用 (2认同)

Chr*_*isR 3

您可以使用avn-nvm。它使用nvm来管理Node版本,当你进入目录时avn会触发切换到适合你的版本。这就是我们在我的团队中使用的。