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_modules
和npm 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
一起工作。