更新: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?
答案 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
...