jth*_*ter 11 macos bash terminal node.js npm
我只是从头开始重建我的Mavericks(Mac OS X Version 9.4)机器.我是该机器的管理员和唯一用户.
git-2.0.1-intel-universal-snow-leopard.pkg
(http://git-scm.com/downloads)在默认/usr/local/git/bin/git
位置安装了Git .node-v0.10.30.pkg
(http://nodejs.org/download/)在他们的默认/usr/local/bin/node
位置安装了Node ./usr/local/bin/npm
位置安装了NPM .$PATH
回声/usr/local/git/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin
(它包含/usr/local/bin
).运行npm install -g bower
结果:
npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/bower'
npm ERR! { [Error: EACCES, mkdir '/usr/local/lib/node_modules/bower']
npm ERR! errno: 3,
npm ERR! code: 'EACCES',
npm ERR! path: '/usr/local/lib/node_modules/bower',
npm ERR! fstream_type: 'Directory',
npm ERR! fstream_path: '/usr/local/lib/node_modules/bower',
npm ERR! fstream_class: 'DirWriter',
npm ERR! fstream_stack:
npm ERR! [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23',
npm ERR! '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53',
npm ERR! 'Object.oncomplete (fs.js:107:15)' ] }
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" "-g" "bower"
npm ERR! cwd /Users/Home
npm ERR! node -v v0.10.30
npm ERR! npm -v 1.4.21
npm ERR! path /usr/local/lib/node_modules/bower
npm ERR! fstream_path /usr/local/lib/node_modules/bower
npm ERR! fstream_type Directory
npm ERR! fstream_class DirWriter
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, mkdir '/usr/local/lib/node_modules/bower'
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/Home/npm-debug.log
npm ERR! not ok code 0
Run Code Online (Sandbox Code Playgroud)
运行类似安装(npm install -g yo
,npm install -g grunt
,npm install -g nvm
,npm install -g npm
)的结果似乎是错误的同一列表.
网上有几个人建议通过强制安装sudo
,但其他几个人警告这可能导致以后的问题.这些软件包的手册似乎没有提及要求sudo
,在某些情况下,他们建议在出现此问题时联系NPM.
运行npm cache clear
不能解决问题.
ls -la
在home(~
)目录中运行会将我的Mac OS X用户名显示为我的.npm
目录的所有者:drwxr-xr-x 15 admin staff 510 Aug 11 23:53 .npm
有谁知道出了什么问题以及如何纠正这个问题?谢谢.
jth*_*ter 13
顺便说一句,我通过更改/usr/local
自己的所有者解决了这个问题,以便允许NPM在其默认位置使用模块,而无需进一步要求sudo
每个软件包的安装.
sudo chown -R `whoami` /usr/local
Run Code Online (Sandbox Code Playgroud)
EACCES是无法访问操作的错误.
采取行:npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/bower'
我们可以看到npm
无法在给定位置创建目录.
原因很可能是您没有以超级用户身份运行该命令.实际上,错误日志甚至暗示:
错误的ERR!请尝试以root/Administrator身份再次运行此命令.
要以管理员身份运行,您必须为这些命令添加前缀sudo
.那是:
sudo npm install -g bower
.出于安全原因,您需要输入密码.