Bower Install macht nichts, wirft nicht einmal einen Fehler


15

Ich bin auf Ubuntu 14.04. Ich habe es getan sudo apt-get install npm. Dann tat ich das npm install -g bower, was erfolgreich war.

Mit which npmverstehe ich /usr/bin/npm/.
Mit which bowerverstehe ich /usr/local/bin/bower.

Ich habe ein Github-Repository geklont, das eine bower.json. Ich versuche, bower installin der Wurzel zu tun, aber nichts passiert. Wie in, es wird nichts wiedergegeben, es wird nichts installiert. Es macht einfach ... nichts. Ich habe es versucht bower --helpund nichts kommt hoch.

Ich habe es versucht sudo apt-get updateund es heißt, npmist auf dem neuesten Stand. Nodejsexistiert auch. Wann immer ich irgendetwas mit npm mache, macht es einfach nichts.

BEARBEITEN: Wenn ich das tue npm --global ls, wird Bower in den Verzeichnissen aufgeführt

Woran könnte das liegen und wie kann ich das beheben?


Was ist der Inhalt der bower.jsonDatei? Können Sie den Link zum Repository bereitstellen?
Lucio

Antworten:


14

Ich hatte das gleiche problem Dies scheint auf ein falsches Knotenpaket zurückzuführen zu sein.

Das Entfernen des Node-Pakets und das Installieren des Legacy-Pakets hat bei mir funktioniert:

apt-get remove node
apt-get autoremove
apt-get install nodejs-legacy

das hat funktioniert. Ich habe nodejs aus dem Quellcode erstellt, damit es funktioniert
corvid

18

Diese Arbeit für mich:

bower install --force

wo die --forcekraftvoll zu installieren sind


1
Nun, es hat den Trick für mich getan, aber ich frage mich, warum ich es erzwingen musste. Vielen Dank.
Luis Milanese

Du hast mein Leben gerettet ...
Jean-Luc Barat

4

Sie haben geprüft which npmund which bower, aber Sie haben nicht geprüft which node. Unter Ubuntu hat das nodePaket keine Beziehung zu NodeJS. Das NodeJS-Paket wird als installiert nodejs, wodurch alle Skripten, die davon abhängen, beschädigt werden node. Dies ähnelt einer anderen Frage, bei der eine globale Installation von jshint nicht funktioniert hat .

Angenommen, Sie haben nodejsinstalliert, können Sie einen Symlink erstellen, der auf Folgendes nodeverweist nodejs:

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

Wenn dies nicht funktioniert oder wenn Sie die Version von NodeJS nicht in den offiziellen Repositorys verwenden möchten, können Sie Node von einem PPA installieren (der Ihnen beides nodeund nodejsBefehle gibt) oder NVM verwenden (was meine persönliche Präferenz ist) Es macht die sudoInstallation von npm-Modulen überflüssig.


Nun, zusätzlich zum Erstellen eines Symlinks muss ich auch das Knotenpaket entfernen. Wie in der anderen Antwort erwähnt, wird dieses Knotenpaket als tatsächliches Knotenpaket getarnt. Obwohl sich der nodeBefehl nach dem Erstellen eines Symlinks für nodejs tatsächlich auf ein Amateur Packet Radio Node-Programm bezieht und nicht auf die tatsächlichen nodejs, die wir uns wünschen.
Lokesh Rajwani

3

Auf Ubuntu 14.04 habe ich es gelöst mit:

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

0

Für alle da draußen, die dieses Problem haben, aber alle anderen Fehlerbehebungen funktionieren nicht. Ich habe festgestellt, dass ich den falschen Befehl eingetippt habe. Ich dachte, dass ein nodejs vor dem Befehl erforderlich ist, wie zum Beispiel:

nodejs bower install

Bower wird jedoch direkt vom Terminal ausgeführt

bower install

Dumm, ich weiß!


0

Ubuntu 16.04 und höher

In Ubuntu 16.04 und höher kann der Bower-Paketmanager schnell und einfach über die Ubuntu-Software-App installiert werden. Öffnen Sie die Ubuntu-Software, suchen Sie nach "bower" und klicken Sie auf die Schaltfläche " Installieren" , um sie zu installieren. Öffnen Sie in allen derzeit unterstützten Versionen von Ubuntu das Terminal und geben Sie Folgendes ein:

sudo snap install bower --classic  

Bildbeschreibung hier eingeben

Das Bower-Snap-Paket wird automatisch aktualisiert, wenn Updates verfügbar sind.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.