Bower 安装错误
Posted
技术标签:
【中文标题】Bower 安装错误【英文标题】:Bower Installation Errors 【发布时间】:2014-03-04 05:13:31 【问题描述】:现在我已经安装了 Node 和 Npm,并在终端中运行了这个命令(是的,我在 Mac 上):
npm install -g bower
接下来是终端的输出:
npm http GET https://registry.npmjs.org/bower
npm http 304 https://registry.npmjs.org/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.0.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "bower"
npm ERR! cwd /Users/Superfunnytogo
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.24
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/Superfunnytogo/npm-debug.log
npm ERR! not ok code 0
Device-365-352:~ Superfunnytogo$ npm install -g bower
npm http GET https://registry.npmjs.org/bower
npm http 304 https://registry.npmjs.org/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.0.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "bower"
npm ERR! cwd /Users/Superfunnytogo
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.24
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/Superfunnytogo/npm-debug.log
npm ERR! not ok code 0
【问题讨论】:
这个问题有什么问题? 这个问题没有错。不是每个人都应该知道sudo
。在这种情况下,使用sudo
不一定是正确的答案。这是一个 +1 以消除您的反对票数。
【参考方案1】:
您需要 root 访问权限或权限才能全局安装!试试看:
sudo npm install -g bower
【讨论】:
感谢上帝,我喜欢这个网站,享受您的第一对声誉,欢迎来到 Stack Overflow! 谢谢!很高兴我能帮忙:D 使用 sudo,似乎不是最好的主意。 Irsjng 的回答似乎是更好的解决方案。 如果您希望将模块限制为每个用户,您可以按照 Irsjng 的建议进行操作,这对于系统范围内全局安装 npm 模块来说是一个足够的答案。 这对我也不起作用。我得到“sudo:npm:找不到命令”【参考方案2】:比使用sudo
更好的是设置用户级别前缀。例如在~/.npmrc
中设置:
prefix = $HOME/npm-global
将此文件夹用于使用-g
安装的软件包。
那么你还需要设置你的PATH
环境变量来包含$HOME/npm-global/bin
。
【讨论】:
非常感谢。这正是我一直在寻找的。使用 sudo 来解决这个问题就像用大锤敲钉子一样!【参考方案3】:你不应该 sudo bower 对吧?我的意思是 sudo npm install -g bower 会起作用,但这是我收到的消息:
其他错误详情: 由于 bower 是用户命令,因此无需以超级用户权限执行它。 如果您在不使用 sudo 的情况下使用 bower 时遇到权限错误,请花几分钟时间详细了解您的系统应该如何工作并进行必要的修复。
http://www.joyent.com/blog/installing-node-and-npm https://gist.github.com/isaacs/579814
但是,您可以使用 sudo 使用 --allow-root 选项运行命令
【讨论】:
【参考方案4】:如果您在 OSX 上通过 Homebrew 安装了 node/npm,您可能需要先运行 brew doctor
并按照说明操作,然后再对任何系统文件夹执行 sudo。就我而言,这引发了关于同意 Xcode/ios 许可证的唠叨:
Builds will fail! Agree to the license by opening Xcode.app or running:
xcodebuild -license
在这样做并运行brew update
之后,我能够按预期在全球范围内安装 Bower。
【讨论】:
【参考方案5】:我知道这是一个旧线程,但我最近在重新安装 Yosemite 和 xCode 工具后遇到了这个问题。万一其他人被卡住了,帮助我的是使用命令:
sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config
根据以下线程的建议: https://github.com/bower/bower/issues/2262
【讨论】:
【参考方案6】:不鼓励在 npm 中使用 sudo
。
查看这里https://***.com/a/18277225/1857521 以获得几乎相同问题的更好解决方案。
【讨论】:
以上是关于Bower 安装错误的主要内容,如果未能解决你的问题,请参考以下文章
Bower 安装错误 EPERM 重命名 sb-admin 主题
使用 Bower 安装 Gulp-Sass 时出现 ENOTFound 错误
在 mac 上使用 Bower 安装 Bootstrap 说:错误:EACCES,权限被拒绝
Yii2 全新安装:vendor/bower/jquery/dist 路径错误