1

我想要那个

~ $ npm install express"

不会在我的主文件夹中安装 express,而是在~/apps/node_modules.

所以我插入了这个export NODE_PATH=/home/a/apps/node_modules.bashrc而不是我做source .bashrc的。

不幸的是,npm install express仍然安装它/home/a/node_modules并且npm install -g express需要root/Administrator。

npm install packages in 怎么可能/home/a/apps/node_modules

4

1 回答 1

10

NODE_PATH用于查找模块,但不用于安装它们。

你可以使用--prefix来表示npm应该在哪里安装一个包:

npm --prefix ~/apps install express

您可以通过配置为始终使用该前缀来使其更加永久npm,但这只会覆盖全局位置。所以你需要使用-g标志:

# config once
npm config set prefix ~/apps

# after that, '-g' will install packages in ~/apps
npm install express -g

此外,使用-g将安装软件包~/apps/lib/node_modules(我认为无法更改),因此也将该目录添加到您的目录中$NODE_PATH

另一种解决方案是为以下内容创建一个 shell 别名npm

# in your ~/.bashrc
alias npm="command npm --prefix ~/apps"

虽然我不完全确定这将如何与-g.

于 2013-05-22T07:51:26.987 回答