nvm的替代方案是什么?

14

我只需要一个可以用版本控制来声明 Node 版本并在别人的 shell 中切换 Node 版本的东西。

.nvmrc 应该可以做到这一点,但是 Fish 没有官方支持,并且解决方法很麻烦。

这似乎并不是非常复杂。 有没有什么新的/热门工具可以替代 nvm?


在 Stack Overflow 上,询问我们推荐或寻找书籍、工具、软件库、教程或其他外部资源的问题是不被允许的,因为它们往往会吸引主观性答案和垃圾邮件。你可以尝试在 softwarereqs 上寻求帮助,但请先仔细阅读相关帮助中心以了解该社区的政策。并且请考虑删除这个问题!谢谢! - GhostCat
它说我无法删除这个问题。 - corysimmons
5个回答

11

2
n does not work on Windows and neither does fnm - Andria
9
我不想让自己显得很讨厌,但如果你是一个开发者,而不仅仅是做微软特定的东西或视频游戏,我强烈建议你安装VirtualBox和Ubuntu的副本,并逼迫自己使用Linux。在Windows上,有一半的常用开发工具无法正常工作,除非进行大量的hacky解决方法。如果没有这样做的话,我建议你看看https://github.com/asdf-vm/asdf——我还没有使用过,但它看起来比其他替代方案都要好... 但说实话,我已经愉快地使用n多年了。 - corysimmons
@corysimmons,“*nix和变种”真的不是“无处不在”。不是令人讨厌,只是一个非常不准确的说法。 - spechter
@spechter "nix & variants is everywhere" 这个说法相当准确;显然可能不是字面上的准确,但足够准确以至于是真实的。 - undefined

9
我使用 Volta 进行替换。它不使用 .nvmrc,而是在 package.json 中进行配置。
在我看来,这是一个很好的解决方案,因为 它使用shim技术,所以它完全独立于您使用的shell。它不必被集成到shell中。安装 Volta 后,你(或者安装程序)将其放入操作系统的 PATH 变量中,因此您可以正常使用 node, npm, yarn, ... 等命令,但内部调用 Volta 并检查您 package.json 中配置的 node/yarn/... 版本或全局版本(如果没有 Volta 配置),所以如果您使用 cd ../xyz 切换项目,Volta 将自动更改 Node 版本或安装缺失的版本,无需运行其他命令。因此,无需使用 nvm usefnm use 命令。
除了IntelliJ-Issue WEB-44867 (需要一些额外手动配置)外,对我来说它完美地工作着。

7

我知道这是一个旧问题,这是我首次搜索到的内容。

fnm, https://github.com/Schniz/fnm 看起来是一个很好的Rust替代品。相比之下,它非常快,比nvm更快。


6
我使用 https://github.com/tj/n (Node.js 版本管理工具:无需子shell,无需配置文件,无需复杂API,简单易用)。

这是最好的Node版本管理工具之一......有一天我偶然发现了它,它非常好用。 - Vaisakh K M

3
你可以使用 avn-nvm 来管理 Node 版本。avn-nvm 使用 nvm 来管理 Node 版本,在你进入目录时,avn 将自动触发版本切换到正确的版本。这是我们团队使用的方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接