6

由于我使用的是 Express.js,所以我不能npm install正常使用了。我总是必须扎根才能让它工作......

假设我生成了一个项目

express --sessions --css css

当我尝试做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

但是如果做 a sudo npm install,一切都很好......知道为什么吗?

4

2 回答 2

11

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

chown -R Arnaud /Users/Arnaud/.npm

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

于 2013-04-11T13:55:53.517 回答
0

如果您使用 MAC OS 或 Unix/Lunix 机器,您只需要注意安全措施,即使您是 root 所有者,您也需要在终端的命令行上使用sudo命令。因此,大多数时候使用 chown 命令更改文件和目录的所有权是不够的。

原因是你将执行的命令会对系统文件有很大的改变,你需要输入你的 root 管理员的密码,就像在 Windows 中他们要求你输入管理员密码进行系统更改一样,所以它看起来像这个:

*Ms-MacBook-Pro:~ AMB$ sudo npm install -g express-generator

密码:(输入您的根/管理员密码)

/usr/local/bin/express -> /usr/local/lib/node_modules/express-generator/bin/express-cli.js
/usr/local/lib
└─┬ express-generator@4.15.0 
  ├─┬ commander@2.9.0 
  │ └── graceful-readlink@1.0.1 
  ├── ejs@2.5.6 
  ├─┬ mkdirp@0.5.1 
  │ └── minimist@0.0.8 
  └── sorted-object@2.0.1 

Ms-MacBook-Pro:~ AMB$*

于 2017-06-21T00:01:16.160 回答