Ich installierte Knoten und npm die Anweisungen unter Verwendung der bereitgestellten hier
Ich konnte Knoten erfolgreich verwenden. Beim Versuch, das Knotenmodul "Formidable" zu installieren, wird jedoch die folgende Fehlermeldung angezeigt:
$npm install formidable
bash: /usr/local/bin/npm: /usr/local/bin/node: bad interpreter: No such file or directory
Wenn ich a mache, which npm
erhalte ich die folgende Ausgabe:
$which npm
/usr/local/bin/npm
Ich habe keine Ahnung, was mit npm hier nicht stimmt - weißt du, wie ich das beheben kann?
/usr/local/bin/
. Die Pakete, wie Sie sie in den verknüpften Anweisungen verwendet haben, tun dies nicht. Ich denke, Sie haben auch einen anderen Knoten aus dem Quellcode installiert. Bitte erzähle die ganze Geschichte.$sudo apt-get remove --purge nodejs npm
aber das hat nicht funktioniert.node --version
nach der Installation von 0.8.18 zeigte noch 0.8.14. Also folgte ich einem Beitrag, den ich jetzt nicht finden kann - im Grunde genommen wurde er angewiesen,which node
gefolgt vonrm -r /usr/local/bin/...
- im Grunde genommen einigen knotenbezogenen Dateien in diesem Verzeichnis. Danach habe ich Node neu installiert und es war die aktualisierte Version. Es funktioniert gut, aber npm ist es nicht.Antworten:
Unter Berücksichtigung des @gertvdijk-Hinweises habe ich NPM mithilfe des Skripts deinstalliert:
(welche hier zu finden sind )
Auch nach dem Ausführen des oben genannten habe ich einen weiteren Fehler erhalten:
Also lief ich
hash -r
im Terminal (gemäß den Anweisungen unter NPM wird nach dem Upgrade nicht ausgeführt ) und voila - es funktionierte. NPM funktioniert jetzt!quelle
hash
, mit dem einfach auf einen anderen Node / npm verwiesen werden kann (was ist, wenn ich mit mehr als einer Version von Node arbeitenhash
das?Ubuntu und einige Linux-Distributionen installieren den Interpreter des Knotens als
/usr/bin/nodejs
und nicht als/usr/local/bin/node
.Sie können dieses Problem lösen, indem Sie das installieren
nodejs-legacy
Paket , das einen Symlink von/usr/bin/nodejs
bis erstellt/usr/bin/node
.Lösung:
Referenzen: NodeJS-Legacy-Paket
quelle
nodejs-legacy
nicht mehr zu existieren.Offenbar haben Sie vor einiger Zeit eine andere Node-Version aus dem Quellcode installiert. Dies wird durch den
/usr/local/bin
Pfad angezeigt, in dem es jetzt installiert zu sein scheint.which npm
jetzt/usr/bin
als Installationspfad aufgeführt wird.Im Allgemeinen sollten Sie niemals Pakete aus dem Quellcode installieren müssen. Wenn Sie dies dennoch tun, beachten Sie bitte die Konsequenzen, da Sie hier die Paketverwaltung außer Kraft setzen und es dadurch verwirrt wird.
quelle