web-dev-qa-db-fra.com

Erreurs d'installation de Bower

Maintenant, j'ai installé Node et Npm et j'exécute cette commande dans le terminal (oui je suis sur un mac):

npm install -g bower

Ce qui suit avec cette sortie du terminal:

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
39

Vous avez besoin d'un accès root ou d'autorisations pour installer globalement! Essayez:

 Sudo npm install -g bower
89
c0d3junk13

Mieux que d'utiliser Sudo est de définir un préfixe de niveau utilisateur. Par exemple dans ~/.npmrc ensemble:

prefix = ${HOME}/npm-global

utiliser ce dossier pour les packages installés avec -g.

Ensuite, vous devez également définir votre variable d'environnement PATH pour inclure ${HOME}/npm-global/bin.

19
lrsjng

vous ne devriez pas Sudo bower à droite? Je veux dire que Sudo npm install -g bower fonctionnera MAIS voici le message que j'ai reçu:

Détails d'erreur supplémentaires: Étant donné que bower est une commande utilisateur, il n'est pas nécessaire de l'exécuter avec des autorisations de superutilisateur. Si vous rencontrez des erreurs d'autorisation lors de l'utilisation de bower sans Sudo, veuillez consacrer quelques minutes à en savoir plus sur le fonctionnement de votre système et à effectuer les réparations nécessaires.

http://www.joyent.com/blog/installing-node-and-npmhttps://Gist.github.com/isaacs/579814

Vous pouvez cependant exécuter une commande avec Sudo en utilisant l'option --allow-root

4
user3098588

Je sais que c'est un vieux fil mais j'ai rencontré le problème récemment après avoir réinstallé les outils Yosemite et xCode. Au cas où quelqu'un d'autre se retrouverait coincé, ce qui m'a aidé à utiliser les commandes:

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

Suggestion suivante du fil ci-dessous: https://github.com/bower/bower/issues/2262

1
Kasia B M

Si vous avez installé node/npm via Homebrew sur OSX, vous pouvez d'abord exécuter brew doctor et suivez les instructions avant de créer des dossiers système. Dans mon cas, cela m'a amené à accepter une licence Xcode/iOS:

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

Après avoir fait cela et exécuté un brew update J'ai pu installer Bower globalement comme prévu.

1
jsol

L'utilisation de Sudo avec npm est déconseillée.

Regardez ici https://stackoverflow.com/a/18277225/1857521 pour une meilleure solution à un problème presque identique.

0
sfotiadis