la instalación de Bower no hace nada, ni siquiera arroja un error

15

Estoy en Ubuntu 14.04. Lo hice sudo apt-get install npm. Entonces lo hice npm install -g bower, lo cual fue exitoso.

Con which npm, lo entiendo /usr/bin/npm/.
Con which bower, lo entiendo /usr/local/bin/bower.

Cloné un repositorio de github que tenía un bower.json. Intento hacerlo bower installen la raíz pero no pasa nada. Como en, no hace eco de nada, no instala nada. Simplemente no hace ... nada. Lo intenté bower --helpy no sale nada.

Lo intenté sudo apt-get updatey dice que npmestá actualizado. Nodejsexiste también Cada vez que hago algo con npm, simplemente no hace nada.

EDITAR: cuando lo hago npm --global ls, bower aparece en los directorios

¿Cuál podría ser el problema aquí y cómo puedo solucionarlo?

corvid
fuente
¿Cuál es el contenido del bower.jsonarchivo? ¿Podría proporcionar el enlace al repositorio?
Lucio

Respuestas:

14

Yo tuve el mismo problema. Parece ser causado por un paquete de nodo incorrecto.

En cambio, eliminar el paquete de nodo e instalar el paquete heredado funcionó para mí:

apt-get remove node
apt-get autoremove
apt-get install nodejs-legacy
Sivaraj D
fuente
Esto funcionó. Construí nodejs desde la fuente para que funcione
corvid
18

Este trabajo para mi:

bower install --force

donde la --forceinstalar con fuerza

viña
fuente
1
Bueno, me sirvió, pero me pregunto por qué tuve que forzarlo. Gracias.
Luis Milanese
Me salvaste la vida ...
Jean-Luc Barat
4

Usted comprobó which npmy which bower, pero no comprobó which node. En Ubuntu, el nodepaquete no está relacionado con NodeJS. El paquete NodeJS se instala como nodejs, lo que romperá cualquier script que dependa de él node. Esto es similar a otra pregunta donde una instalación global de jshint no estaba funcionando .

Suponiendo que haya nodejsinstalado, puede crear un enlace simbólico para que nodeapunte a nodejs:

sudo ln -s /usr/bin/nodejs /usr/bin/node

Si eso no funciona, o si prefiere no usar la versión de NodeJS en los repositorios oficiales, puede instalar Node desde un PPA (que le dará ambos nodey nodejscomandos) o usar NVM (que es mi preferencia personal, como evita la necesidad de sudoinstalar módulos npm).

Michael Martin-Smucker
fuente
Bueno, además de crear un enlace simbólico, también tengo que eliminar el paquete de nodos. Como se menciona en la otra respuesta, ese paquete de nodos se disfraza de ser un paquete de nodejs real. Entonces, aunque después de crear un enlace simbólico para nodejs, el nodecomando en realidad se refiere a algún programa de nodo de radio de paquetes de aficionados, y no a los nodos reales que deseamos.
Lokesh Rajwani
3

En Ubuntu 14.04, lo resolví con:

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
Kenneth Jiang
fuente
0

Para cualquiera que esté teniendo este problema, pero todas las otras soluciones no funcionan. Descubrí que estaba escribiendo el comando incorrecto, pensé que necesitaba un nodejs antes del comando como:

nodejs bower install

Pero Bower solo se ejecuta directamente desde la terminal

bower install

Estúpido lo sé!

Matthew Dolman
fuente
0

Ubuntu 16.04 y posterior

En Ubuntu 16.04 y posterior, el administrador de paquetes Bower se puede instalar rápida y fácilmente desde la aplicación de software de Ubuntu. Abra el software Ubuntu, busque "bower" y haga clic en el botón Instalar para instalarlo. En todas las versiones compatibles de Ubuntu, abra el terminal y escriba:

sudo snap install bower --classic  

ingrese la descripción de la imagen aquí

El paquete Bower Snap se actualizará automáticamente cuando haya actualizaciones disponibles.

karel
fuente