Ich habe die Knoten js und npm über apt-get install und alle Abhängigkeiten installiert und dann browserify installiert
npm install browserify -g
Es durchläuft den Prozess und scheint korrekt installiert zu sein, aber wenn ich versuche, ein einfaches Bundle für diese exemplarische Vorgehensweise zu erstellen
Ich bekomme den Fehler:
/ usr / bin / env: node: Keine solche Datei oder kein solches Verzeichnis
javascript
node.js
browserify
Eduardo Dennis
quelle
quelle
Antworten:
Einige Linux-Distributionen installieren nodejs nicht als ausführbare Datei "node", sondern als "nodejs".
In diesem Fall müssen Sie manuell eine Verknüpfung zu "Knoten" herstellen, da viele Pakete nach der Binärdatei "Knoten" programmiert werden. Ähnliches tritt auch bei "python2" auf, das nicht mit "python" verknüpft ist.
In diesem Fall können Sie einen einfachen Symlink erstellen. Für Linux-Distributionen, die Paket-Binärdateien installieren, können
/usr/bin
Sie dies tunquelle
/usb/sbin/node
es sich um ax24-node handelt (unabhängig von nodejs). Nur symbolische Verknüpfung zu/usr/bin/node
nicht, da/usr/sbin/node
kommt zuerst in dem$PATH
update-alternatives
. siehe meine Antwort hier stackoverflow.com/a/24592328/454615update-alternatives
. es existiert für genau diese Situationen.Neue Antwort:
Alte Antwort:
Die Rede davon, Symlinks zu erstellen oder ein anderes Knotenpaket zu installieren, ist falsch und nicht nachhaltig.
Der richtige Weg, dies zu lösen, ist:
update-alternatives
Sie diese Option, um anzugeben, für welche NodeJS-Binärdatei verantwortlich ist#!/usr/bin/env node
Wie so:
Dies wird jetzt durch Paket-Upgrades, Dist-Upgrades usw. nachhaltig.
quelle
Ausführen
apt-get install nodejs-legacy
.Bestimmte Linux-Distributionen haben den Binärnamen von node.js geändert, sodass er mit vielen node.js-Paketen nicht kompatibel ist. Das Paket
nodejs-legacy
bietet einen Symlink, um dies zu beheben.quelle
/usb/sbin/node
es sich um ax24-node handelt (unabhängig von nodejs). Nur symbolische Verknüpfung zu/usr/bin/node
nicht, da/usr/sbin/node
kommt zuerst in dem$PATH
Sie können Nodejs auch mit NVM oder Nodejs Version Manager installieren . Die Verwendung eines Versionsmanagers bietet viele Vorteile . Eine davon ist, dass Sie sich über dieses Problem keine Sorgen machen müssen.
Anleitung:
Sobald die erforderlichen Pakete installiert sind, können Sie das nvm-Installationsskript von der GitHub-Seite des Projekts herunterladen. Die Versionsnummer kann unterschiedlich sein, aber im Allgemeinen können Sie sie mit der folgenden Syntax herunterladen und installieren:
Dadurch wird das Skript heruntergeladen und ausgeführt. Die Software wird in einem Unterverzeichnis Ihres Home-Verzeichnisses unter installiert
~/.nvm
. Außerdem werden Ihrer~/.profile
Datei die erforderlichen Zeilen hinzugefügt, 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 als Quelle verwenden, damit Ihre aktuelle Sitzung über die Änderungen informiert ist:
Nachdem Sie nvm installiert haben, können Sie isolierte Node.js-Versionen installieren.
Um herauszufinden, welche Versionen von Node.js für die Installation verfügbar sind, können Sie Folgendes eingeben:
Wie Sie sehen können, ist die neueste Version zum Zeitpunkt dieses Schreibens v0.11.14. Sie können das installieren, indem Sie Folgendes eingeben:
Normalerweise wechselt nvm zur Verwendung der zuletzt installierten Version. Sie können nvm ausdrücklich anweisen, die gerade heruntergeladene Version zu verwenden, indem Sie Folgendes eingeben:
Wenn Sie Node.js mit nvm installieren, wird die ausführbare Datei als Knoten bezeichnet. Sie können die aktuell von der Shell verwendete Version anzeigen, indem Sie Folgendes eingeben:
Das Comeplete-Tutorial finden Sie hier
quelle
Dadurch wird der Symlink erstellt
/usr/bin/node -> nodejs
.Quelle: https://lists.debian.org/debian-devel-announce/2012/07/msg00002.html
quelle
Ich scheine das gleiche Problem zu haben, wenn ich Atom unter Linux baue.
Fix meine Frage. Hoffentlich hilfreich für Sie.
quelle
Wenn Sie keinen Symlink erstellen möchten, können Sie dies tun. arbeitet in Ubuntu
Das Harmony-Tag ist für die neue ECMAscript-Harmonie
quelle
Führen Sie den Befehl aus
which node
Das Ergebnis ist etwas/home/moh/.nvm/versions/node/v8.9.4/bin/node
Kopieren Sie den Pfad, den Sie oben erhalten haben, und führen Sie den Befehl in Schritt 3 aus.
ln -s /home/moh/.nvm/versions/node/v8.9.4/bin/node /usr/bin/node
quelle
Sie müssen "nodejs" und nicht "node" aufrufen. Um dies zu überprüfen, geben Sie
node -v
in die Shell ein: Wenn nichts gefunden wird, versuchen Sie esnodejs -v
. Wenn dadurch eine Versionsnummer angezeigt wird, lautet der Befehl, den Sie verwenden sollten,nodejs
und nichtnode
. Daher müssen Sie den Aufruf von browserify in Ihrem Skript vonnode
aufnodejs
(wie unten gezeigt) ändern : Ersetzenmit
Möglicherweise müssen Sie das Skript auch als Superuser öffnen.
quelle