在版本管理方面,Node.js有时会让人感到困惑......
我正在尝试安排各种项目,因为我正在处理ruby项目。例如:
使用ruby,我可以创建.rvmrc
等文件并填写rvm --create use 1.9.3@my-app
这件事专门为配置的gemset创建和使用所有宝石。这允许为任何类型的项目提供各种选项,并在它们之间轻松切换。所以ruby在一个地方做到这一点。
我想为node.js项目实现这一目标。
节点的工作方式不同。我想知道有关它的详细信息,尤其是每个节点版本管理工具。
更准确:我希望npm install <package-name>
选择节点版本。切换到其他版本后,此安装的软件包将丢失,或者在安装之前(或某个版本)安装了不同的版本。就像gemset
正在发挥作用一样。
答案 0 :(得分:2)
我一直在寻求澄清:
两者都允许切换&amp;在节点版本之间安装。
nvm会将不同版本符号链接到/ usr / local / bin / node,n会将您的节点安装移动到路径(/usr/local/bin/node).
我不完全理解你问题的后半部分,但是关于控制节点项目/应用程序,你可以使用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。所以,我的回答是没有太大区别。