comando bower não encontrado

158

Tentei instalar o twitter bower no meu Mac e usei

npm install bower -g

Então eu tentei bower --help, e a saída foi bower command not found. Por que é que?

Amo Wu
fonte
2
Qual é a saída npm install? Falhou? Ele instalou o pavilhão em algum local fora do seu PATH?
jches 11/09/12
possível duplicata de "comando não encontrado" após a instalação
Sindre Sorhus

Respostas:

365

Assim como nesta pergunta ( prefixo do caminho global npm ), tudo o que você precisa é definir corretamente npm prefix.

UNIX:

$ npm config set prefix /usr/local
$ npm install -g bower

$ which bower
>> /usr/local/bin/bower

Windows e NVM:

$ npm config set prefix /c/Users/xxxxxxx/AppData/Roaming/nvm/v8.9.2
$ npm install -g bower

Então bowerdeve estar localizado apenas no seu $PATH.

Petr Joachim
fonte
1
Gostaria de acrescentar que essa não é a resposta mais correta se você trabalha com vários projetos. O Bower deve ser instalado node_moduleslocalmente package.jsone não globalmente, pois projetos diferentes podem usar versões diferentes (esse é o objetivo npm). O verdadeiro problema é que o sistema não é capaz de encontrar o executável local do pavilhão.
Bruno Finger
@BrunoFinger: Ao instalar o bower no escopo global, essa resposta não está resolvendo o problema. No entanto, o uso de pacotes de nós locais pode ser uma maneira melhor de lidar com ferramentas específicas do projeto.
Petr Joachim
Eu acho que se o prefixo npm estiver definido como / usr / local, o npm install -g falhará sem o sudo.
Imafish
Não recomendamos o uso do Bower para novos projetos. Por favor, considere fios e Webpack ou pacote.
Daniel
60

Tenho quase certeza de que você não está conseguindo instalá-lo corretamente. Como você está tentando instalá-lo globalmente, será necessário executá-lo com o sudo:

sudo npm install -g bower
Erick Ruiz de Chavez
fonte
3
É assim que o caramanchão deve ser instalado; caso contrário, ele será instalado na pasta em que você executou o comando. -g significa global e também cria os links necessários para módulos que podem ser executados como comandos do sistema, bower, grunt-cli e até npm são exemplos claros disso.
Erick Ruiz de Chavez
Não instale com sudo! Basta usar o médico de fermentação e fazer as correções sugeridas pelo médico de fermentação, e então você não precisará usar o sudo!
djangofan
4

Isso acabou por NÃO ser um problema do caramanchão, embora tenha aparecido para mim com o caramanchão.

Parece ser um nó - qual problema. Se um arquivo estiver no caminho, mas o bit setuid / setgid estiver definido, o que não será encontrado.

Aqui estão alguns arquivos com o conjunto de bits s: (unix 'what' o encontrará sem problemas).

ls -al / usr / local / bin -rwxrwsr-- 110 raiz nmt 5535636 17 de julho de 2012 git

Aqui está um nó - qual tentativa:

> which.sync('git')
Error: not found: git

Eu mudo as permissões (chomd 755 git). Agora nó - que pode encontrá-lo.

> which.sync('git')
'/usr/local/bin/git'

Espero que isto ajude.

user3112929
fonte
3

Estou usando o gerenciador de versão do nó. Eu estava recebendo essa mensagem de erro porque havia mudado para uma versão diferente do nó. Quando voltei para a versão do nó em que instalei o bower, esse erro desapareceu. No meu caso, o comando foinvm use stable

abelha
fonte
3

Como alternativa, você pode usar o npxque acompanha o npm> 5.6.

npx bower install

Kuldeep Saxena
fonte
1
Essa deve ser a resposta aceita. Você nunca deve instalar módulos globais com o npm.
chovy 27/09/19