2013-05-22 164 views
0

我想這NODE_PATH沒有效果

~ $ npm install express" 

不會安裝在我的主文件夾快遞,但相反在~/apps/node_modules

所以我插入這export NODE_PATH=/home/a/apps/node_modules.bashrc和比我source .bashrc

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

npm如何在/home/a/apps/node_modules中安裝軟件包?

+0

有人以root身份安裝npm嗎? npm install -g永遠不需要提升root/admin權限。默認情況下,npm isntall將安裝在當前工作目錄中名爲node_modules的目錄中。這聽起來像你正在試圖在不使用-g的情況下實現全局安裝。 – booyaa

回答

8

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

+0

謝謝你正在工作 – user977828