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

Geben Sie hier die Bildbeschreibung ein

  • 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


Benutzer-Avatar
airtonix

Neue Antwort:

  1. 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).
  2. NVM installieren,
  3. 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:

  1. Installieren Sie einfach das nodejs-Paket mit apt-get, wie Sie es bereits getan haben
  2. verwenden update-alternatives um anzuzeigen, wofür Ihre nodejs-Binärdatei verantwortlich ist #!/usr/bin/env node

So etwa:

sudo apt-get install nodejs
sudo update-alternatives --install /usr/bin/node nodejs /usr/bin/nodejs 100

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

Benutzer-Avatar
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.

Anweisungen:

sudo apt-get update
sudo apt-get install build-essential libssl-dev

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:

nvm ls-remote
. . .

v0.11.10
v0.11.11
v0.11.12
v0.11.13
v0.11.14

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:

node -v

Das komplette Tutorial ist zu finden hier

sudo apt-get install nodejs-legacy

Dadurch wird der Symlink erstellt /usr/bin/node -> nodejs.

Quelle: https://lists.debian.org/debian-devel-announce/2012/07/msg00002.html

  • @Swift Mac OS X hat kein apt-get. Siehe stackoverflow.com/questions/37369363/…

    – Kamikater

    9. Januar 2018 um 10:00 Uhr

Benutzer-Avatar
Känguru

Ich scheine das gleiche Problem zu haben, wenn ich Atom in Linux baue.

sudo apt-get install nodejs-dev

Beheben Sie meine Frage. Hoffentlich hilfreich für Sie.

  • @Swift Mac OS X hat kein apt-get. Siehe stackoverflow.com/questions/37369363/…

    – Kamikater

    9. Januar 2018 um 10:00 Uhr

Benutzer-Avatar
Benutzer2290820

Wenn Sie keinen Symlink erstellen möchten, können Sie dies tun. funktioniert unter Ubuntu

#!/usr/local/bin/node --harmony

Das Harmony-Tag ist für die neue ECMAscript-Harmonie

1157860cookie-checkbrowserify error /usr/bin/env: node: No such file or directory

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy