我有一个 NFS 挂载的主文件夹,并试图通过 npm 设置全局包,例如:
sudo npm install -g jshint
这给了我一个错误,因为在 sudo 下我无法在远程服务器上创建任何东西(在 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) 我一直不清楚这是怎么回事考虑到npm 自述文件建议使用 sudo 和 b) 在这种情况下,我真的不想要任何与我的特定用户相关的东西(它是一个构建服务器)
所以我想真正的问题是如何让 npm 忽略我的主文件夹并为 .npm 使用其他位置?