J'ai essayé d'installer Twitter Bower sur mon Mac et j'ai utilisé
npm install bower -g
Ensuite, j'ai essayé bower --help
, et la sortie était bower command not found
. Pourquoi donc?
Tout comme dans cette question ( préfixe de chemin global npm ), tout ce dont vous avez besoin est de définir correctementnpm prefix
.
UNIX:
$ npm config set prefix /usr/local
$ npm install -g bower
$ which bower
>> /usr/local/bin/bower
Windows et NVM:
$ npm config set prefix /c/Users/xxxxxxx/AppData/Roaming/nvm/v8.9.2
$ npm install -g bower
Ensuite, bower
devrait être situé juste dans votre fichier $PATH
.
node_modules
localement à partir de package.json
et non globalement, car différents projets peuvent utiliser différentes versions (c'est tout l'intérêt de npm
). Le vrai problème est que le système ne parvient pas à trouver l'exécutable local du bower.
Je suis presque sûr que vous ne l'installez pas correctement. Puisque vous essayez de l'installer globalement, vous devrez l'exécuter avec sudo:
sudo npm install -g bower
Cela s'est avéré ne pas être un problème de bower, bien que cela se soit manifesté pour moi avec bower.
Cela semble être un problème de nœud. Si un fichier est dans le chemin, mais que le bit setuid / setgid est défini, il ne le trouvera pas.
Voici un fichier avec le bit s défini: (unix 'qui' le trouvera sans problème).
ls -al / usr / local / bin -rwxrwsr-- 110 root nmt 5535636 17 juillet 2012 git
Voici une tentative de nœud qui:
> which.sync('git')
Error: not found: git
Je change les permissions (chomd 755 git). Maintenant node-qui peut le trouver.
> which.sync('git')
'/usr/local/bin/git'
J'espère que cela t'aides.
J'utilise le gestionnaire de versions de nœuds. J'obtenais ce message d'erreur car j'étais passé à une version différente de node. Lorsque je suis revenu à la version du nœud où j'ai installé bower, cette erreur a disparu. Dans mon cas, la commande étaitnvm use stable
Alternativement, vous pouvez utiliser npx
ce qui vient avec le npm> 5.6.
npx bower install
npm install
? Cela a-t-il échoué? At-il installé le bower à un endroit pas sur votrePATH
?