web-dev-qa-db-fra.com

Bower: "commande introuvable" après l'installation

Il semble que je reçois ce qui suit lorsque j'exécute npm install bower -g

/usr/local/share/npm/bin/bower -> /usr/local/share/npm/lib/node_modules/bower/bin/bower
[email protected] /usr/local/share/npm/lib/node_modules/bower

Malheureusement, l’exécution d’une des commandes bower renvoie -bash: bower: command not found

which npm renvoie /usr/local/bin/npm et l'exécution de which node renvoie /usr/local/bin/node.

43
GRAY GHOST

Je suppose que vous avez installé Node.js via Homebrew, qui place de manière gênante les fichiers binaires npm installés à un emplacement qui n’est généralement pas dans le chemin des utilisateurs. Tout ce que vous avez à faire est d’ajouter /usr/local/share/npm/bin à votre $ PATH. Vous faites cela en ajoutant export PATH=/usr/local/share/npm/bin:$PATH à votre fichier .bashrc/.bash_profile/.zshrc.

Bien que je préfère plutôt désinstaller Homebrew, Node.js installé, et l’installer avec l’installateur à partir de nodejs.org qui n’a pas ce problème.

Ce problème n'est pas spécifique à Bower et sera visible avec tout fichier binaire Node.js installé globalement, par exemple. grognement, uglify, jshint, etc.

66
Sindre Sorhus

Pour les utilisateurs qui rencontrent des problèmes avec l'installation dans mac, comme indiqué sur la page officielle, il semble qu'El Capitan donne des problèmes d'autorisation pour installer le paquet de cette façon:

npm install bower -g

La solution solution que j'ai trouvée pour éviter les erreurs d'autorisation utilise Sudo (superutilisateur do) pour permettre au noeud de télécharger le package de la manière suivante:

Sudo npm install bower -g

Espérons que cela aidera les utilisateurs ayant le même problème. :)

7
Lors

Si vous avez une installation "non standard", vous devez rechercher l'emplacement de l'emplacement du bin bin avec:

npm config list

Ajoutez ensuite l’emplacement de la corbeille de noeuds à votre ~/.bash_profile

export PATH=<yourNodeBinLocation>:$PATH

N'oubliez pas d'ouvrir un nouveau terminal à tester ou source ~/.bash_profile

6
Bwyss

Je sais que cette question a été répondue et acceptée il y a longtemps. Je viens de rencontrer exactement le même problème pour karmaet grunt: vous installez la bibliothèque, mais à cause de Homebrew, les packages installés globalement n'exposent pas 'grunt', 'karma', 'bower', peu importe.

Même si la méthode de Sindre Sorhus fonctionne, je trouve qu'il est trop difficile de désinstaller homebrew/nodejs et de le réinstaller.

Au lieu j'ai utilisé

npm install -g grunt-bower-cli

et pareil pour les autres:

npm install -g grunt-cli
npm install -g karma-cli

La documentation de Grunt explique pourquoi vous avez besoin de cette étape:

Cela mettra la commande grunt dans votre chemin système, lui permettant d'être exécuter à partir de n'importe quel répertoire.

Notez que l’installation de grunt-cli n’installe pas le programme d’exécution de tâches Grunt! Le travail de la CLI Grunt est simple: exécutez la version de Grunt qui contient été installé à côté d'un fichier Grunt. Cela permet plusieurs versions de Grunt doit être installé sur la même machine simultanément.

À mon avis, cela est plus simple et prend moins de temps que si je devais désinstaller nodejs

6

Sous Mac OS X, ajoutez la ligne suivante dans votre ~/.bash_profile 

export PATH="$HOME/.node/lib/node_modules/bower/bin:$PATH"

Et redémarrez le terminal ou tapez: 

source ~/.bash_profile

2
Anatolii Pazhyn

Si vous avez utilisé autre chose que Homebrew (oui, certains d'entre nous l'ont en fait fait bizarre) - comme MacPorts, votre $PATH pourrait être génial. Les fichiers binaires peuvent être situés dans d’autres zones: /opt/local/bin/grunt et éventuellement /opt/local/bin/npm

De plus, si vous utilisez MacPorts pour installer npm puis ultérieurement bower, le fichier binaire ne se trouvera pas où vous vous attendez. Il finit dans votre répertoire personnel sous .npm/lib/node_modules/bower/bin

Votre $PATH doit être ajusté dans ~/.profile (Mac OS X) pour ajouter: $HOME/.npm/lib/node_modules/bower/bin

Source votre profil Bash ou ouvrez une nouvelle fenêtre de terminal et cela devrait fonctionner.

1
Glenn Batuyong

Depuis septembre 2016, le programme d'installation .pkg de nodejs.org fait en sorte que les packages installés soient sous $HOME/.npm-packages/lib/node-modules, avec des liens symboliques dans ~/.npm-packages/bin:

$ bower install
-bash: bower: command not found
$ which bower
$ export PATH=$PATH:~/.npm-packages/bin
$ which bower
/Users/dmoles/.npm-packages/bin/bower
1
David Moles

j'ajoute ceci 

export PATH=$HOME/.node/bin:$PATH

à la fin (et nouvelle ligne) de mon fichier .bash_profile (situé dans le dossier utilisateur). Sauvegarde le. fermer et rouvrir le terminal

1
Valix85

En centos 6,8

vi ~/.zshrc 

ajouter trois rangées ci-dessous

export PATH=$HOME/bin:/usr/local/bin:$PATH
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:$PATH
export PATH=/usr/local/share/npm/bin:$PATH

et alors

exec /bin/zsh 

ou

exec /usr/bin/zsh

juste travailler

0
Jeremy

Mon problème était le bogue Homebrew/node/npm trouvé ici - https://github.com/npm/npm/issues/3794

Si vous avez déjà installé un noeud avec Homebrew, essayez:

npm update -gf

Ou, si vous voulez installer le noeud avec Homebrew et faire fonctionner npm, utilisez:

brew install node --without-npm
curl -L https://npmjs.org/install.sh | sh
0
YPCrumble

Si tout ce qui précède ne fonctionne pas ou si vous ne semblez pas comprendre les réponses fournies à la question.

Je vous suggère d'exécuter les commandes d'installation sur votre commande système Prompt et non sur git-bash, surtout si vous êtes sur Windows 8 ou 7.

0
sapphire