Fra*_*uro 125 language-comparisons virtualenv node.js
我搜索过wiki模块页面,但是找不到类似virtualenv(python)或rvm的东西.
这里有人在他们自己的环境中分离node.js吗?我真的不喜欢在系统范围内安装npm.
sho*_*rty 180
nodeenv - node.js的虚拟环境(Analog virtualenv)
bxj*_*xjx 41
如果系统范围的npm包是你的主要问题,那么可以考虑使用非常酷的'bundle'命令和npm.这更接近冻结宝石或在铁轨中使用捆绑器,而不是rvm.
这非常容易.只需创建一个package.json文件:
{ "name": "yourapp", "version": "0.0.1", "dependencies": {"jade": "0.4.1"}}
Run Code Online (Sandbox Code Playgroud)
然后运行:
npm bundle vendor
Run Code Online (Sandbox Code Playgroud)
或者如果您的npm版本> = 1.0运行:
npm install
Run Code Online (Sandbox Code Playgroud)
冻结到供应商目录.然后使用:
require.paths.unshift('./vendor');
Run Code Online (Sandbox Code Playgroud)
Epe*_*eli 24
还有一些Node版本管理系统可以提供帮助.
看看Nave https://github.com/isaacs/nave
NVM也可以使用https://github.com/creationix/nvm
还有一个名为n https://github.com/visionmedia/n
bxjx的答案在概念上是准确的.但请注意,bundle命令不再占用目录.它总是将包丢弃到node_modules文件夹中,以便npm知道以后在哪里找到它们(并且可以避免双重安装依赖项).
任何解决方案都可能涉及安装npm和nave"系统范围"(也就是说,在你的PATH,可能在~某个地方),但之后只在虚拟环境中安装你的特定依赖项.
我对github问题的反应更加彻底.
tl; dr:用例是有效且有用的,虽然它主要在那里,但它并没有得到尽可能好的服务.我们应该确保通过并正确行事.
您并不总是需要全局安装依赖项。通常建议使用,因为这样您就可以使用 npm 包提供的命令,但是如果您将其安装在本地(在node_modules)目录中,您也可以使用这些命令,它们只会出现在node_modules/.bin/目录中,因此您必须键入node_modules/.bin/<command>,这很烦人,但您当然可以将此路径添加到您的PATH环境变量中:
export PATH=node_modules/.bin:$PATH
Run Code Online (Sandbox Code Playgroud)
然后你就可以打字<command>,它的工作原理!
实际上有一个 npm 命令返回.bin目录的绝对路径:
$ npm bin
/path/to/node_modules/.bin
Run Code Online (Sandbox Code Playgroud)
当您位于项目的子目录中时,此命令也有效,它将返回node_modules/.bin它在其父目录中找到的第一个目录。
您可以在您的中添加此别名.bashrc以自动将.bin/目录添加到您的PATH:
alias nodebin='export PATH=$(npm bin):$PATH'
Run Code Online (Sandbox Code Playgroud)
所以当你在一个根目录有目录的项目的node_modules/目录中时,你可以输入nodebin,然后你就可以使用目录中的所有命令.bin/!
| 归档时间: |
|
| 查看次数: |
66198 次 |
| 最近记录: |