Ошибки установки Bower

Теперь я установил 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

6 ответов

Решение

Вам нужен root-доступ или разрешения для глобальной установки! Пытаться:

 sudo npm install -g bower

Гораздо лучше, чем с помощью sudo устанавливает префикс уровня пользователя. Например в ~/.npmrc задавать:

prefix = ${HOME}/npm-global

использовать эту папку для пакетов, установленных с -g,

Тогда вам также нужно установить PATH переменная среды для включения ${HOME}/npm-global/bin,

Ты не должен sudo bower правильно? Я имею в виду sudo npm install -g bower будет работать, НО вот сообщение, которое я получил:

Дополнительные сведения об ошибке: поскольку bower - пользовательская команда, нет необходимости выполнять ее с разрешениями суперпользователя. Если у вас возникают ошибки разрешения при использовании bower без sudo, потратьте несколько минут, чтобы узнать больше о том, как ваша система должна работать, и выполнить необходимый ремонт.

http://www.joyent.com/blog/installing-node-and-npm https://gist.github.com/isaacs/579814

Однако вы можете запустить команду с помощью sudo, используя параметр --allow-root


Если вы установили узел /npm через Homebrew на OSX, вы можете сначала запустить brew doctor и следуйте инструкциям перед выполнением любых системных папок. В моем случае это вызвало недовольство согласием на лицензию Xcode/iOS:

Builds will fail! Agree to the license by opening Xcode.app or running: xcodebuild -license

После этого и запуска brew update Я смог установить Bower по всему миру, как и ожидалось.

Я знаю, что это старый поток, но я столкнулся с проблемой недавно после переустановки инструментов Yosemite и xCode. На случай, если кто-нибудь застрянет, мне помогли команды:

sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config

Следующее предложение из ветки ниже: https://github.com/bower/bower/issues/2262

С помощью sudo с нпм не рекомендуется.

Посмотрите здесь /questions/12391030/npm-yeoman-ustanovit-generator-uglovoj-bez-sudo/12391040#12391040 для лучшего решения почти идентичной проблемы.

Другие вопросы по тегам