Ответ 1
Вам нужен root-доступ или разрешения для установки по всему миру! Попробуйте:
sudo npm install -g 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
Вам нужен 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 является пользовательской командой, нет необходимости выполнять ее с правами суперпользователя. Если у вас возникли ошибки при использовании беседки без sudo, проведите несколько минут, чтобы узнать больше о том, как ваша система должна работать и сделать необходимый ремонт.
http://www.joyent.com/blog/installing-node-and-npm https://gist.github.com/isaacs/579814
Однако вы можете запустить команду с помощью sudo, используя опцию -allow-root
Если вы установили node/npm через Homebrew в OSX, вы можете сначала запустить brew doctor
и следовать инструкциям перед sudo-ing любыми системными папками. В моем случае это вызвало прилив о согласии с лицензией 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
с npm не рекомендуется.
Посмотрите fooobar.com/info/11212/... для лучшего решения почти идентичной проблемы.