1

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

我创建了一个 virtualenv

mkproject MyProject

...然后在 virtualenv 内安装 nodeenv

(MyProject) pip install nodeenv

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

(MyProject)which node--> “它的/the/path/to/MyProject/bin/node”

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

但是 npm install仍然导致模块被安装到全局节点包中......

(MyProject)npm install less

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

如何将 npm 安装限制到 virtualenv?

4

2 回答 2

2

有点晚了,希望对你有帮助。

mkvirtualenv projectname

pip install nodeenv

nodeenv -p
于 2014-04-06T00:49:10.583 回答
-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
...
于 2013-11-18T19:53:24.980 回答