Pakete können nicht mit dem Knotenpaket-Manager in Ubuntu installiert werden
Name des NodeJS-Interpreters (node
) unter Ubuntu wurde umbenannt innodejs
wegen eines Namenskonflikts mit einem anderen Paket. Hier ist was die Readme. Debian sagt:
Der Upstream-Name für den Interpreter-Befehl Node.js lautet "node". In Debian wurde der Interpreter-Befehl in "nodejs" geändert.
Dies wurde durchgeführt, um eine Namespace-Kollision zu verhindern: Andere Befehle verwenden denselben Namen in ihrem Upstream, z. B. ax25-node aus dem Paket "node".
Skripte, die Node.js als Shell-Befehl aufrufen, müssen geändert werden, um stattdessen den Befehl "nodejs" zu verwenden.
Die Verwendung von nodejs bringt jedoch das Installieren von Paketen mitnpm
. Die Paketinstallation schlägt mit dem folgenden Fehler fehl:
sh: 1: node: not found
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read /usr/share/doc/nodejs/README.Debian
Wie kann ich npm verständlich machen, dass nodejs bereits auf dem System installiert ist, der Name des Interpreters sich jedoch unterscheidet?