NODE_PATH没有效果

我想那个

~ $ npm install express" 

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

所以我在.bashrc插入了这个export NODE_PATH=/home/a/apps/node_modules ,而且我的source .bashrc

不幸的是, npm install express仍将它安装在/home/a/node_modulesnpm install -g express需要root / Administrator。

npm安装软件包在/home/a/apps/node_modules怎么/home/a/apps/node_modules

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

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

 npm --prefix ~/apps install express 

您可以通过configurationnpm来使其永久使用该前缀,但这只会覆盖全局位置。 所以你需要使用-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中。

另一个解决scheme是为npm创build一个shell别名:

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

虽然我不完全确定这将如何与-g一起工作。