Eu tive o mesmo problema. Parece ser causado por um pacote de nós incorreto.
Remover o pacote de nós e instalar o pacote legado funcionou para mim:
apt-get remove node
apt-get autoremove
apt-get install nodejs-legacy
Eu estou no Ubuntu 14.04. Eu fiz sudo apt-get install npm
. Então eu fiz npm install -g bower
, o que foi bem sucedido.
Com which npm
, recebo /usr/bin/npm/
.
Com which bower
, recebo /usr/local/bin/bower
.
Eu clonei um repositório do github que tinha bower.json
. Eu tento fazer bower install
na raiz, mas nada acontece. Como em, não ecoa nada, não instala nada. Simplesmente não faz nada. Eu tentei bower --help
e nada aparece.
Eu tentei sudo apt-get update
e ele diz que npm
está atualizado. Nodejs
existe também. Sempre que faço algo com npm, simplesmente não faz nada.
EDIT: quando eu faço npm --global ls
, o bower é listado nos diretórios
Qual poderia ser o problema aqui e como posso corrigi-lo?
Eu tive o mesmo problema. Parece ser causado por um pacote de nós incorreto.
Remover o pacote de nós e instalar o pacote legado funcionou para mim:
apt-get remove node
apt-get autoremove
apt-get install nodejs-legacy
Este trabalho para mim:
bower install --force
em que --force
é instalado com força
Você verificou which npm
e which bower
, mas não verificou which node
. No Ubuntu, o pacote node
não está relacionado ao NodeJS. O pacote NodeJS é instalado como nodejs
, o que quebrará todos os scripts que dependem de node
. Isso é semelhante a outra pergunta em que uma instalação global do jshint não estava funcionando .
Supondo que você tenha nodejs
instalado, você pode criar um link simbólico para que node
atinja nodejs
:
sudo ln -s /usr/bin/nodejs /usr/bin/node
Se isso não funcionar, ou se você preferir não usar a versão do NodeJS nos repositórios oficiais, você pode instalar o Node de um PPA (que lhe dará os comandos node
e nodejs
) ou use NVM ( qual é minha preferência pessoal, pois evita a necessidade de sudo
ao instalar módulos npm).
No Ubuntu 14.04, resolvi com:
sudo apt-get remove npm
sudo apt-get remove node
sudo apt-get autoremove
sudo apt-get update
sudo apt-get install nodejs
sudo ln -s /usr/bin/nodejs /usr/bin/node
Para qualquer um que tenha esse problema, mas todas as outras correções não funcionam. Eu achei que estava digitando o comando errado, achei que precisava de um nodejs antes do comando como:
nodejs bower install
Mas o bower é executado diretamente do terminal
bower install
estúpido eu sei!
No Ubuntu 16.04 e posterior, o gerenciador de pacotes Bower pode ser instalado rápida e facilmente a partir do aplicativo Ubuntu Software. Abra o software Ubuntu, procure por "bower" e clique no botão Instalar para instalá-lo. No Ubuntu 14.04 e depois abra o terminal e digite:
sudo snap install --classic bower
Tags npm