browserify error /usr/bin/env: node: No such file or directory
Lesezeit: 6 Minuten
Ich habe node js und npm über apt-get install und alle Abhängigkeiten installiert, dann habe ich browserify installiert
npm install browserify -g
es durchläuft den Prozess und es scheint, als wäre es korrekt installiert, aber wenn ich versuche, ein einfaches Bündel dafür zu erstellen Komplettlösung
Ich bekomme den Fehler:
/usr/bin/env: node: Keine solche Datei oder Verzeichnis
hmm, Sie sollten überprüfen, ob sich die ausführbare Knotendatei in /usr/bin oder /usb/bin/env befindet, zumindest ist dies ein betriebsspezifisches Problem. Möglicherweise können Sie dies lösen, indem Sie browserify local installieren.
– bodokaiser
2. Januar 2014 um 15:35 Uhr
Meine ausführbare Browserfy-Datei befindet sich in /usr/local/bin/, aber ruft sie etwas anderes auf, bei dem der Pfad durcheinander ist?
– Eduardo Dennis
2. Januar 2014 um 15:38 Uhr
Ah, Sie müssen nodejs mit node auf Ubuntu symbolisieren. Ubuntu installiert den Knoten als nodejs, dann müssen Sie so etwas wie “ln -s /usr/bin/nodejs /usr/bin/node” tun, damit das System ihn auch als Knoten findet
– bodokaiser
2. Januar 2014 um 15:43 Uhr
das hat es gelöst :-PI hat mir in der letzten Stunde den Kopf darüber zerbrochen, können Sie bitte das Antwortformat eingeben, um es zu akzeptieren?
– Eduardo Dennis
2. Januar 2014 um 15:44 Uhr
Ich bin froh, dass es funktioniert hat, war mir nicht sicher, ob es wirklich diese Probleme sind, deshalb habe ich zuerst kommentiert 🙂
– bodokaiser
2. Januar 2014 um 19:58 Uhr
Einige Linux-Distributionen installieren nodejs nicht als ausführbare „node“-Datei, sondern als „nodejs“.
In diesem Fall müssen Sie manuell auf “node” verlinken, da viele Pakete nach der “node”-Binärdatei programmiert sind. Ähnliches tritt auch auf, wenn “python2” nicht mit “python” verknüpft ist.
In diesem Fall können Sie einen einfachen Symlink erstellen. Für Linux-Distributionen, in denen Paketbinärdateien installiert werden /usr/bin du kannst tun
ln -s /usr/bin/nodejs /usr/bin/node
Das ist nicht die Lösung für Ubuntu 14.04 weil /usb/sbin/node ist ax24-node (unabhängig von nodejs). Nur symbolische Verlinkung /usr/bin/node wird nicht funktionieren, weil /usr/sbin/node steht an erster Stelle in der $PATH
– Gareth
29. Mai 2014 um 9:24 Uhr
Der richtige Weg, dies zu lösen, ist die Verwendung update-alternatives. siehe meine Antwort hier stackoverflow.com/a/24592328/454615
– airtonix
6. Juli 2014 um 2:59 Uhr
tatsächlich mehr darüber nachdenken … Binärdateien so zu symbolisieren, ist eine großartige Angewohnheit, wenn Sie versuchen, Ihr System zu beschädigen.
– airtonix
28. Oktober 2014 um 21:55 Uhr
Ja, ich habe bemerkt, dass es auf subtile Weise kaputt geht. Haben Sie eine bessere Lösung gefunden?
– Eduardo Dennis
28. Oktober 2014 um 21:57 Uhr
@EduardoDennis ja, verwenden update-alternatives. es existiert genau für diese Situationen.
– airtonix
20. Januar 2015 um 10:08 Uhr
airtonix
Neue Antwort:
Deinstallieren Sie alle nodejs-Pakete, die Sie über Ihren Systempaketmanager (dnf, apt-get usw.) installiert haben, löschen Sie alle dummen Symlinks, die Sie bei jedem Upgrade neu erstellt haben (lol).
NVM installieren,
Verwenden Sie nvm, um nodejs zu installieren: nvm install 6
Alte Antwort:
Jegliches Gerede über das Erstellen von Symlinks oder das Installieren eines anderen Knotenpakets ist falsch und nicht nachhaltig.
Der richtige Weg, dies zu lösen, ist:
Installieren Sie einfach das nodejs-Paket mit apt-get, wie Sie es bereits getan haben
verwenden update-alternatives um anzuzeigen, wofür Ihre nodejs-Binärdatei verantwortlich ist #!/usr/bin/env node
Dies wird nun durch Paket-Upgrades, Dist-Upgrades und so weiter nachhaltig.
Dies ist eine Lösung für mein Problem stackoverflow.com/questions/26155795/…
– Alon Karmel
2. Oktober 2014 um 7:15 Uhr
Danke, tolle Lösung, der Trick mit Symlinks wird im Netz am häufigsten wiederholt, hat aber bei mir nicht funktioniert.
– Emilia Tyl
17. November 2015 um 11:24 Uhr
Die eigentlich richtige Antwort ist jetzt, NVM unter Linux und Nodist unter Windows zu verwenden.
– airtonix
1. März 2016 um 22:18 Uhr
Update 2022: nvm ist nett, aber Sie sollten sich wirklich mit der Verwendung von ASDF befassen
– airtonix
19. Mai um 23:07 Uhr
Laufen apt-get install nodejs-legacy.
Bestimmte Linux-Distributionen haben den binären Namen von node.js geändert, wodurch sie mit vielen node.js-Paketen nicht kompatibel ist. Paket nodejs-legacy bietet einen symbolischen Link, um dies zu beheben.
Dies ist die Lösung für Ubuntu 14.04, weil /usb/sbin/node ist ax24-node (unabhängig von nodejs). Nur symbolische Verlinkung /usr/bin/node wird nicht funktionieren, weil /usr/sbin/node steht an erster Stelle in der $PATH
– Gareth
29. Mai 2014 um 9:23 Uhr
Hat mir weitergeholfen. Vielen Dank!
– Lapidus
18. Juni 2014 um 9:53 Uhr
apt-get install nodejs-legacy. besagt, dass für Windows-Benutzer „apt-get“ nicht als interner oder externer Befehl, bedienbares Programm oder Batch-Datei erkannt wird.
– Schnell
19. April 2017 um 10:42 Uhr
Eduard Dennis
Sie können Nodejs auch mit installieren NVM oder Nodejs-Versionsmanager. Es gibt viele Vorteile zur Verwendung eines Versionsmanagers. Eine davon ist, dass Sie sich um dieses Problem keine Sorgen machen müssen.
Sobald die vorausgesetzten Pakete installiert sind, können Sie das nvm-Installationsskript von der GitHub-Seite des Projekts abrufen. Die Versionsnummer kann unterschiedlich sein, aber im Allgemeinen können Sie sie mit der folgenden Syntax herunterladen und installieren:
curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | sh
Dadurch wird das Skript heruntergeladen und ausgeführt. Es installiert die Software in einem Unterverzeichnis Ihres Home-Verzeichnisses unter ~/.nvm. Es wird auch die erforderlichen Zeilen zu Ihrer hinzufügen ~/.profile Datei, um die Datei zu verwenden.
Um Zugriff auf die nvm-Funktionalität zu erhalten, müssen Sie sich abmelden und erneut anmelden, oder Sie können die Datei ~/.profile abrufen, damit Ihre aktuelle Sitzung über die Änderungen informiert ist:
source ~/.profile
Nachdem Sie nvm installiert haben, können Sie isolierte Node.js-Versionen installieren.
Um herauszufinden, welche Versionen von Node.js zur Installation verfügbar sind, können Sie Folgendes eingeben:
Wie Sie sehen können, ist die neueste Version zum Zeitpunkt des Schreibens dieses Artikels v0.11.14. Sie können das installieren, indem Sie Folgendes eingeben:
nvm install 0.11.14
Normalerweise wechselt nvm zur Verwendung der zuletzt installierten Version. Sie können nvm explizit anweisen, die gerade heruntergeladene Version zu verwenden, indem Sie Folgendes eingeben:
nvm use 0.11.14
Wenn Sie Node.js mit nvm installieren, heißt die ausführbare Datei node. Sie können die aktuell von der Shell verwendete Version sehen, indem Sie Folgendes eingeben:
hmm, Sie sollten überprüfen, ob sich die ausführbare Knotendatei in /usr/bin oder /usb/bin/env befindet, zumindest ist dies ein betriebsspezifisches Problem. Möglicherweise können Sie dies lösen, indem Sie browserify local installieren.
– bodokaiser
2. Januar 2014 um 15:35 Uhr
Meine ausführbare Browserfy-Datei befindet sich in /usr/local/bin/, aber ruft sie etwas anderes auf, bei dem der Pfad durcheinander ist?
– Eduardo Dennis
2. Januar 2014 um 15:38 Uhr
Ah, Sie müssen nodejs mit node auf Ubuntu symbolisieren. Ubuntu installiert den Knoten als nodejs, dann müssen Sie so etwas wie “ln -s /usr/bin/nodejs /usr/bin/node” tun, damit das System ihn auch als Knoten findet
– bodokaiser
2. Januar 2014 um 15:43 Uhr
das hat es gelöst :-PI hat mir in der letzten Stunde den Kopf darüber zerbrochen, können Sie bitte das Antwortformat eingeben, um es zu akzeptieren?
– Eduardo Dennis
2. Januar 2014 um 15:44 Uhr
Ich bin froh, dass es funktioniert hat, war mir nicht sicher, ob es wirklich diese Probleme sind, deshalb habe ich zuerst kommentiert 🙂
– bodokaiser
2. Januar 2014 um 19:58 Uhr