nvm vs nave vs n | 包处理比较

当涉及到版本pipe理时,Node.js有时会令人困惑…

我正在尝试安排各种项目,因为我正在使用ruby项目。 例如:

随着ruby,我可以创build文件,如.rvmrc和填充像rvm --create use 1.9.3@my-app

这个东西创build和使用所有的gem专门configurationgemset。 它允许为任何types的项目提供各种选项,并在其中轻松切换。 所以ruby在一个地方做到这一点。

我想为node.js项目做到这一点。

节点工作不同。 我想知道有关的细节,特别是每个节点版本pipe理工具。

重点是要知道哪个版本pipe理工具为哪个目标…

为什么有这么多。

更准确地说:我希望npm install <package-name>select节点版本。 而在切换到其他版本后,这个安装的软件包将会丢失,或者在安装之前(或者某个版本)安装不同的版本。 就像gemset正在工作。

我一直在寻找澄清:

  • 两者都允许在节点版本之间切换和安装。

  • nvm会将不同的版本符号链接到/ usr / local / bin / node,n会将您的节点安装移动到path(/ usr / local / bin / node)。

  • n下载并安装二进制文件和nvm下载,编译,从源代码安装。

我不完全理解你的问题的后半部分,但是在控制节点项目/应用程序方面,你可以使用npm install [package_name] --save-dev来将你的npms保存到你的'项目'中。

这些npm模块版本(^ semver)会在你的package.json文件中得到详细的说明,例如"gulp": "^3.8.5""gulp": "3.8.5"不同"gulp": "3.8.5" (后者特定于v3.8.5 ,而3.8.5意味着允许任何未来版本的3,而不是4.0.0)

npm和gem的不同之处在于,npm将指定的软件包安装在本地node_modules文件夹(使用--save-dev的当前工作目录)中,因此您不必担心跨项目模块版本。

重要说明:运行–save(而不是–save-dev)会安装所有缺失的依赖项。

我希望有一点帮助:o)

只是试图安装nvm ,它适用于从一个版本切换到另一个版本。 在nave.sh头文件中,它说:“#这个程序包含了独angular鲸的”海“程序的一部分,以及从蒂姆·卡斯韦尔的”nvm“中借用的部分,所以你可以尝试两个,看看最微小的差异。 同时检查每个和贡献者的“stream行度”,以获得一些见解)。 还有一个使用Python的nodeenv ,但我没有任何理由在这里使用python。 所以,我的答案是没有太大的区别