NPM本地安装试图写入~/.npm文件夹出现EACCESS错误



我试图将'method-override'包添加到我当前的Express项目中。我执行了下面的命令,结果出错了。

qinguo$ npm install method-override --save
npm WARN package.json redis-url@0.2.0 No repository field.
npm ERR! Error: EACCES, mkdir '/Users/qinguo/.npm/parseurl/1.1.3'
npm ERR!  { [Error: EACCES, mkdir '/Users/qinguo/.npm/parseurl/1.1.3']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/Users/qinguo/.npm/parseurl/1.1.3',
npm ERR!   parent: 'method-override' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.
npm ERR! System Darwin 13.3.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "method-override" "--save"
npm ERR! cwd /Users/qinguo/allcodes/gitebay/NewX/sh-go
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.5.0-alpha-3
npm ERR! path /Users/qinguo/.npm/parseurl/1.1.3
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, mkdir '/Users/qinguo/.npm/parseurl/1.1.3'
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/qinguo/allcodes/gitebay/NewX/sh-go/npm-debug.log
npm ERR! not ok code 0

我尝试更新npm,重新安装,它不工作

尝试运行sudo -

npm install method-override --save

我猜是root拥有npm缓存中的一些包。您可以通过运行命令

来检查:
ls -l ~/.npm

检查导致错误的软件包是否不属于您的用户。

如果有些包由root所有,您应该删除~/。NPM文件夹到当前用户。

sudo chown -R `whoami` ~/.npm
阅读更多:npm cache

最新更新