nodeenv - 在virtualenv中,但安装到全局节点包

时间:2013-10-24 02:20:30

标签: node.js virtualenv

更新:npm实际上是在virtualenv中安装的。但是,取消激活virtualenv然后调用npm列表仍会显示virtualenv的npm。这是我困惑的根源。打开一个全新的终端窗口并运行npm列表以查看全局npm安装显示正确的信息。

我创造了一个虚拟玩家

mkproject MyProject

...然后在virtualenv中安装了nodeenv

(MyProject) pip install nodeenv

node和npm都是virtualenv的本地,但不知何故npm包仍然安装到全局节点模块

(MyProject)which node - > “其/使用/路径/到/ MyProject的/ bin中/节点”

(MyProject)which npm - >同样......“bin / npm”

然而 npm install仍会导致模块安装到全局节点包......

(MyProject)npm install less

安装后:(MyProject)which less - >给我全局节点模块路径

如何将npm安装限制为virtualenv?

2 个答案:

答案 0 :(得分:2)

这有点太晚了,但希望有所帮助。

mkvirtualenv projectname

pip install nodeenv

nodeenv -p

答案 1 :(得分:-2)

而不是使用nodeenv(因为它可以与你的python虚拟环境一起使用,因为它可能是诱人的)尝试使用nave代替。

mkvirtualenv projectname
nave use stable
nave use projectname stable
npm install -g sailsjs passport passport-persona

然后您可以编辑~/.virtualenv/projectname/postactivate以包含该中殿激活

#!/usr/bin/env sh
...
nave use projectname stable
...