nvm vs navy vs n |包处理比较

时间:2014-11-14 08:56:05

标签: node.js versioning nvm

在版本管理方面,Node.js有时会让人感到困惑......

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

使用ruby,我可以创建.rvmrc等文件并填写rvm --create use 1.9.3@my-app

之类的内容

这件事专门为配置的gemset创建和使用所有宝石。这允许为任何类型的项目提供各种选项,并在它们之间轻松切换。所以ruby在一个地方做到这一点。

我想为node.js项目实现这一目标。

节点的工作方式不同。我想知道有关它的详细信息,尤其是每个节点版本管理工具。

关键是要知道哪个版本管理工具的目标......

为什么会有这么多。

更准确:我希望npm install <package-name>选择节点版本。切换到其他版本后,此安装的软件包将丢失,或者在安装之前(或某个版本)安装了不同的版本。就像gemset正在发挥作用一样。

2 个答案:

答案 0 :(得分:2)

我一直在寻求澄清:

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

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

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

我不完全理解你问题的后半部分,但是关于控制节点项目/应用程序,你可以使用asjewelries.com (Ex.1) aiceo.net (Ex.2) 将你的npms保存在你的'项目'中。

这些npm模块版本(^ semver)在package.json文件中有详细说明,例如npm install [package_name] --save-dev"gulp": "^3.8.5"不同(后者特定于v3.8.5,而^ 3.8。 5表示允许任何未来版本的3,但不允许4.0.0)

npm和gem之间的区别在于npm在本地node_modules文件夹(使用"gulp": "3.8.5"的当前工作目录)中安装指定的包,因此您可以减少对跨项目模块版本的担忧。

重要提示:运行--save(而不是--save-dev)会安装任何缺少的依赖项。

我希望这有点帮助:o)

答案 1 :(得分:0)

只是尝试安装nvm,它适用于从一个版本切换到另一个版本。在nave.sh的标题中,它表示&#34;#该程序包含独角鲸的部分&#34;海&#34;程序,以及从Tim Caswell&#34; nvm&#34;&#34;借来的一些东西,所以你可以尝试两者并看到最细微的差别。还要检查&#34;受欢迎程度&#34;每个人和贡献者获得一些洞察力)。还有一个nodeenv使用python,但我没有任何理由在这里使用python。所以,我的回答是没有太大区别