.npm文件夹的备用位置(避免NFS挂载的主页)

我有一个NFS挂载的主文件夹,并试图通过npm设置全局包,例如:

sudo npm install -g jshint 

这给了我一个错误,因为在sudo下,我无法在远程服务器上创build任何东西(在npm之外试过)

 npm ERR! Error: EACCES, open '/home/explunit/.npm/a02a2468-jshint.lock' npm ERR! { [Error: EACCES, open '/home/explunit/.npm/a02a2468-jshint.lock'] npm ERR! errno: 3, npm ERR! code: 'EACCES', npm ERR! path: '/home/explunit/.npm/a02a2468-jshint.lock' } npm ERR! npm ERR! Please try running this command again as root/Administrator. 

我相信有人会在2分钟内过来说“不要使用sudo – 一个真正的开发者会明白如何在没有它的情况下设置node / npm!”,但是a)我从来不清楚这是怎么回事devise工作,鉴于npm readmebuild议sudo,和b)在这种情况下,我真的不希望任何绑定到我的特定用户(这是一个构build服务器)

所以我想真正的问题是如何使npm忽略我的主文件夹,并使用其他位置.npm?

尝试改变这个caching的位置。

 npm config set cache /SOMEWHERE/ELSE 

/ SOMEWHERE / ELSE应该在运行命令的用户可以写入的地方。