NPM总是问我在Express项目中的root用户

Axi*_*iol 6 root node.js express

由于我使用Express.js,我不能npm install正常使用.我总是要扎根它才能工作......

假设我生成一个projet

express --sessions --css css
Run Code Online (Sandbox Code Playgroud)

当我尝试做一次npm install后,我有这些错误

npm WARN package.json application-name@0.0.1 No README.md file found!
npm ERR! Error: EACCES, open '/Users/Arnaud/.npm/e7d16cae-express-3-1-1.lock'
npm ERR!  { [Error: EACCES, open '/Users/Arnaud/.npm/e7d16cae-express-3-1-1.lock']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/Users/Arnaud/.npm/e7d16cae-express-3-1-1.lock' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Darwin 12.3.0
npm ERR! command "node" "/usr/local/bin/npm" "install"
npm ERR! cwd /Users/Arnaud/Sites/test
npm ERR! node -v v0.10.2
npm ERR! npm -v 1.2.15
npm ERR! path /Users/Arnaud/.npm/e7d16cae-express-3-1-1.lock
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, open '/Users/Arnaud/.npm/e7d16cae-express-3-1-1.lock'
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/Arnaud/Sites/test/npm-debug.log
npm ERR! not ok code 0
Run Code Online (Sandbox Code Playgroud)

但是,如果做了sudo npm install,那一切都很好......任何想法为什么?

Noa*_*oah 11

这可能是权限问题.要回收/Users/Arnaud/.npm目录的所有权,请在终端中执行以下命令

chown -R Arnaud /Users/Arnaud/.npm
Run Code Online (Sandbox Code Playgroud)

如果您使用的是OSX,还可以使用"磁盘工具"修复整个磁盘的权限,这也可能会为您解决问题.

  • 我不得不做sudo chown -R username /Users/username/.npm (4认同)