当涉及到版本管理时,Node.js有时会感到困惑.
我试图安排各种项目,就像我在做红宝石项目一样。例如:
使用ruby,我可以创建像.rvmrc
这样的文件,并填充类似于rvm --create use 1.9.3@my-app
的内容
这个东西创建和使用所有的宝石专门配置的宝石集。它允许对任何类型的项目都有不同的选项,并且在它们之间很容易切换。所以红宝石在一个地方做这个。
我想在node.js项目中实现这一点。
节点的工作方式不同。我想知道这方面的细节,尤其是每个节点版本管理工具的细节。
关键是要知道哪个版本管理工具用于哪个目标..。
为什么会有这么多。
更准确地说:我希望npm install <package-name>
选择节点版本。在切换到其他版本之后,这个已安装的包将丢失,或者在此之前安装了不同的版本(或某个版本)。就像gemset
在工作一样。
发布于 2015-09-16 23:41:38
我也一直在寻求澄清:
我不完全理解你问题的后半部分,但在控制节点项目/应用程序方面,可以使用npm install [package_name] --save-dev
将npms保存在“项目”中。
这些npm模块版本(^semver)在您的package.json文件中得到详细说明,例如,"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
的当前工作目录)中安装指定的包,因此您对跨项目模块版本的担忧较少。
重要注意:运行--保存(而不是--保存-dev)安装所有缺少的依赖项。
我希望这能帮点忙:o)
发布于 2015-02-22 16:25:59
只是试着安装nvm
,它可以从一个版本切换到另一个版本。在nave.sh
的标题中,它说:"#这个程序包含独角鲸的"sea“程序的一部分,以及从tiniest的”nvm“中借用的部分,所以您可能会尝试这两个程序,并看到最小的差别。也检查每个人和贡献者的“受欢迎程度”以获得一些洞察力)。还有一个使用python的nodeenv
,但是我没有任何理由在这里使用python。所以,我的答案是没有很大的区别,。
https://stackoverflow.com/questions/26926204
复制相似问题