Ich habe das babel-cli Werkzeug wie erläutert durch die Babel installiert ‚Erste Schritte‘ Seite.
Von einem Terminal in meinem Projektordner:
npm install --save-dev babel-cli
Danach gibt es ein node_modules-Verzeichnis mit einem babel-cli-Ordner, aber es wird keine package.json erstellt. npm zeigt auch den folgenden Fehler:
npm WARN enoent ENOENT: no such file or directory, open '/Users/MyName/Sites/Tutorials/Babel2/package.json
Beim Versuch, babel auszuführen, erhalte ich Folgendes:
babel src -d lib
-bash: babel: command not found
Ich habe die neueste Version von nodejs / npm installiert. Ich habe npm update -g ausgeführt und meine .bash_profile- Datei so bearbeitet, dass sie Folgendes enthält:
export PATH=$PATH:/Users/MyName/npm/bin
export PATH=/usr/local/share/npm/bin:$PATH
Ich habe dies nicht mit anderen npm-Tools wie browserify erlebt. Warum wird Babel nicht erkannt?
rm -rf ./node_modules && npm i
Antworten:
Hier gibt es zwei Probleme. Zunächst benötigen Sie eine
package.json
Datei. Wenn Sie npm anweisen, ohne einen zu installieren, wird dernpm WARN enoent ENOENT: no such file or directory
Fehler ausgegeben. Führen Sienpm init
in Ihrem Projektverzeichnis aus, um einepackage.json
Datei für das Projekt zu generieren .Zweitens werden lokale Binärdateien wahrscheinlich nicht gefunden, da die lokalen
./node_modules/.bin
nicht vorhanden sind$PATH
. Es gibt einige Lösungen unter Wie verwende ich ein lokal in node_modules installiertes Paket? , aber es könnte einfacher sein, Ihre babel-cli-Befehle einfach in npm-Skripte zu verpacken. Dies funktioniert, weilnpm run
die Ausgabe vonnpm bin
(node_modules/.bin
) zu denPATH
bereitgestellten Skripten hinzugefügt wird.Hier ist ein reduziertes Beispiel,
package.json
das die lokal installierte babel-cli-Version zurückgibt:Rufen Sie das Skript mit diesem Befehl auf :
npm run babel-version
.Das Einfügen von Skripten in package.json ist sehr nützlich, wird jedoch häufig übersehen. Viel mehr in den Dokumenten: Wie npm mit dem Feld "Skripte" umgeht
quelle
~/.profile
ich die anderen Antworten geprüft und das Durcheinander mit meiner Datei untersucht habe, um sicherzustellen, dass ich die Pakete lokal aufrufen kannnode_modules
, bin ich zu dem Schluss gekommen, dass derscripts
Bereichpackage.json
die beste Option ist. Sie müssen Ihren Mitarbeitern nicht sagen, dass sie ihre Profile ändern oder einen Alias erstellen sollen. Ihre Skripte funktionieren einfach.Als ich diese Frage fand, suchte ich
quelle
npm install -g babel-cli
Funktioniert ohne Sudo.sudo
mit verwenden,npm install -g babel-cli
um auf diese Datei / usr / local / lib / node_modules zuzugreifen. Andernfalls wird Ihnen dies verweigert.Dies ist ein häufiges Problem, bei dem nach
.cmd
Dateien aus Ihrem Stammverzeichnis gesucht wird, in dem Sie sie installiert habenbabel-cli
. Versuchen Sie den folgenden Befehl.Sobald Sie Ihren Quellcode in der Eingabeaufforderung sehen können. Ihr nächster Schritt ist die Installation eines weiteren npm-Moduls
babel-preset-es2015
.Folgen Sie der folgenden Antwort, um zu installieren
babel-preset-es2015
und zu sehen, warum Babel dies benötigt.Babel-Datei-wird-kopiert-ohne-transformiert zu werden
quelle
Dies ist , was ich habe meinen lokales Projekt getan , um automatisch hinzufügen
node_modules/.bin
PfadPATH
. In~/.profile
fügte ich hinzu:Laden Sie dann Ihr Bash-Profil neu:
source ~/.profile
quelle
So installieren Sie Version 7+ von Babel:
quelle
Die
babel
globale Installation löst dieses Problem:Allerdings ist es nicht Abhängigkeiten fördern global zu installieren , weil sie nicht ihre Versionen auf einer Pro-Projektbasis verwaltet haben.
Sie sollten Ihre Abhängigkeiten lokal installieren, wie in
babel
der Dokumentation vorgeschlagen :Der Nachteil ist, dass Sie auf diese Weise keine schnelle / bequeme Möglichkeit haben, lokale Binärdateien interaktiv aufzurufen (in diesem Fall
babel
).npx
gibt Ihnen eine gute Lösung:Dadurch wird Ihre lokale Installation von ausgeführt
babel
. Wenn Sie die Eingabe vermeiden möchtennpx
, können Sie außerdem den automatischen Fallback der Shell konfigurieren und dann einfach Folgendes ausführen:Hinweis: Es ist wichtig
.babelrc
, im Stammverzeichnis Ihres Projekts eine Datei zu erstellen , in der Sie Ihre Babel-Konfiguration angeben. Als Ausgangspunkt können Sieenv-preset
auf ES2015 + transpilieren:Um die Voreinstellung zu aktivieren, müssen Sie sie wie folgt in Ihrer .babelrc-Datei definieren:
quelle
Ich hatte das gleiche Problem. Löschte den
nodemodules
Ordner und öffnete die Eingabeaufforderung als Administrator und lief dannnpm install
.Alle Pakete gut installiert.
quelle
Sie müssen wie folgt Anführungszeichen um den Pfad zu Ihrer Babel-Datei hinzufügen
"./node_modules/.bin/babel" --help
quelle
Wenn Sie cmd-Befehle verwenden möchten, haben Sie zwei Möglichkeiten. Installieren Sie es zunächst in einer gloabl-Umgebung. Der andere Weg ist
npm link
. Versuchen Sie also den ersten Weg :npm install -g babel-cli
.quelle
Eine Möglichkeit besteht darin, die CLI global zu installieren.
Seit der Veröffentlichung von Babel 7 hat sich der Namespace von
babel-cli
auf geändert@babel/cli
, daher:Sie werden wahrscheinlich immer noch auf Fehler stoßen, wenn
@babel/core
:quelle
Ich stieß auf das gleiche Problem und probierte wirklich alles aus, was mir einfiel. Ich bin kein Fan davon, irgendetwas global zu installieren, sondern musste irgendwann laufen
npm install -g babel-cli
, was mein Problem löste. Vielleicht nicht die Antwort, aber definitiv eine mögliche Lösung ...quelle
Arbeitete für mich zB
quelle
Für diejenigen, die Yarn als Paketmanager anstelle von npm verwenden:
quelle
Dies funktionierte für mich in package.json als npm-Skript, aber es scheint zu lange zu dauern, bis ich die Pakete gefunden habe, obwohl ich sie als Entwicklerabhängigkeiten habe. Es scheint auch zu lang.
Was am Ende gelöst wurde, war viel einfacher, aber auch lustig
Ich dachte, ich hätte das schon gemacht, aber ich denke, etwas musste wieder aufgebaut werden. Dann einfach:
quelle