Fehler: Die Voreinstellung "es2015" in Bezug auf das Verzeichnis "/ Users / username" konnte nicht gefunden werden.


84

Beim Versuch, gulp-babel zu verwenden, wird folgende Fehlermeldung angezeigt:

Fehler: Die Voreinstellung "es2015" in Bezug auf das Verzeichnis "/ Users / username" konnte nicht gefunden werden.

Ich habe die Voreinstellung es2015 global und lokal installiert, kann also nicht erkennen, warum dies ein Problem sein würde.

Unten ist mein Schluck eingerichtet und package.json.

var babel = require('gulp-babel');
var es2015 = require('babel-preset-es2015');

gulp.task('babel', function() {
    return gulp.src('./app/main.js')
    .pipe(babel({
        presets: [es2015]
    }))
    .pipe(gulp.dest('dist'));
});

Package.json

  "devDependencies": {
    "babel-preset-es2015": "^6.3.13",
    "babel-preset-es2015-node5": "^1.1.1",
    "browser-sync": "^2.11.0",
    "gulp": "^3.9.0",
    "gulp-babel": "^6.1.1",
    "gulp-stylus": "^2.2.0"
  }

Ich benutze Node v5.1.0 und Babel v6.4.0

Hier ist die Terminalausgabe

Terminalausgang


Ich denke, Sie müssen eine Zeichenfolge in dem presetsArray übergeben, wie ['es2015'], ich bin jedoch nicht sehr sicher
thefourtheye

@thefourtheye Danke, aber das gleiche Problem wie eine Zeichenfolge.
Brian Douglas

Du hast keinen Schluck gebraucht. Vielleicht könnte das die Ursache seinvar gulp = require('gulp');
Andrei CACIO

@AndreiCacio Ich habe gulp aufgenommen, es ist einfach nicht im Code-Snippet. Ich habe nur den Code eingefügt, der für den Babel-Compiler relevant ist.
Brian Douglas

3
Haben Sie zufällig eine .babelrcDatei in Ihrem Home-Verzeichnis? Da dort nach der Voreinstellung gesucht wird, bedeutet dies, dass die Konfiguration von dort stammt.
Loganfsmyth

Antworten:


115

Sie müssen nur installieren babel-preset-es2015:

CLI-Verwendungsbeispiel:

npm install babel-cli babel-preset-es2015

3
Dies löste es für mich ... WoW, was für eine schreckliche Fehlermeldung: Fehler: Die Voreinstellung "es2015" in Bezug auf das Verzeichnis "/ path / to / node / package / attemping / to / install" konnte nicht gefunden werden ... besonders schmerzhaft, wenn versuchen, ein zufälliges npm-Paket zu installieren, das gulp und babel verwendet
Scott Stensland

2
npm WARN veraltet babel-preset-es2015@6.24.1: 🙌 Vielen Dank, dass Sie Babel verwenden. Wir empfehlen, jetzt babel-preset-env zu verwenden. Bitte lesen Sie babeljs.io/env, um es zu aktualisieren.
Syed

Vielen Dank für diese erstaunliche Lösung.
Pawan

12

die "es2015" in:

    .pipe(babel({
        presets: ['es2015']
    }))

ist eigentlich ein Pfad - wenn Sie also die Voreinstellung nicht im Verzeichnis / Users / username / es2015 haben, müssen Sie genau darauf zeigen, wie zum Beispiel:

.pipe(babel({
    presets: ['../../gulp/node_modules/babel-preset-es2015']
}))

es hat bei mir funktioniert


arbeitete auch für mich mit einem absoluten Pfad zum Ordner "babel-preset-es2015"
valkalon

Dies mag zu simpel erscheinen, daher füge ich es nur als Kommentar hinzu, aber stellen Sie sicher, dass Sie alles richtig buchstabieren. Ich hatte das Etikett als "es2105" mit den transponierten Ziffern und ich kratzte mir eine Weile am Kopf.
Robert Oschler

11

So beheben Sie dieses Problem Sie sollten die (versteckte) .babelrc-Datei aus dem Verzeichnis "/ Users / username" entfernen.


8

Ich habe gerade genau diese gulpfile.js verwendet

var babel = require('gulp-babel');
var es2015 = require('babel-preset-es2015');
var gulp = require('gulp');

gulp.task('babel', function() {
    return gulp.src('./app/main.js')
    .pipe(babel({
        presets: [es2015]
    }))
    .pipe(gulp.dest('dist'));
});

und es hat bei mir funktioniert. Ich habe nur installiert babel, babel-preset-es2015und gulp-babel.


Könntest du mir deine Version von Babel und Node sagen? Ich habe das gleiche Setup, wie Sie sehen können. aber immer noch der gleiche Fehler
Brian Douglas

Ich benutze Knoten 4.0 und Babel 6
Andrei CACIO

Aktualisierte Beschreibung mit Terminalausgang
Brian Douglas

Es könnte sich um ein Windows-Problem oder ähnliches handeln. Ich habe einen ähnlichen Thread gefunden, den Sie überprüfen können: github.com/laravel/elixir/issues/354 Vielleicht wird er ein Licht auf das Problem werfen .
Andrei CACIO

1
Das babel-preset-es2015explizite Laden wie hier gezeigt hat mein Problem gelöst.
Givemesnacks

7

Überprüfen Sie, ob sich die .babelrc-Datei im Stammordner Ihres Projekts befindet. Wenn nicht, erstellen Sie eine .babelrc-Datei und fügen Sie Folgendes hinzu:

{
  "presets": ["es2015"]
}

Das Problem wurde behoben.


Rettete meinen Tag! Vielen Dank
Mehrnoosh

5

Sie könnten versuchen, zu installieren es2015und stage-2über

npm i babel-preset-es2015 --save
npm i babel-preset-stage-2 --save

4

Ich bin auf das gleiche Problem gestoßen und es war, weil ich eine hatte .babelrc Datei im Stammverzeichnis meines Verzeichnisses hatte.

Um dies zu beheben, fügen Sie babelrc: falsein den Babel-Optionen Folgendes hinzu:

var babel = require('gulp-babel');

gulp.task('babel', function() {
    return gulp.src('./app/main.js')
    .pipe(babel({
        babelrc: false,
        presets: ['babel-preset-es2015']
    }))
    .pipe(gulp.dest('dist'));
});

+1 Ich habe eine .babelrcDatei in meinem Stamm gefunden und dies war das Problem. Die Konfiguration babelrc: falsescheint nicht zu funktionieren, aber wenn ich lösche, funktioniert alles!
Overallduka

3

Ich hatte das gleiche Problem, und dieser zweite Vorschlag half mir, mein Problem zu bemerken, und vielleicht gehört es auch Ihnen.

Ich habe es npm install gulp-babel-es2015dann überhaupt nicht in die Gulpfile aufgenommen.

Die babel({presets: ['es2015']})Option ist dann nur eine Zeichenfolge, wie in den Beispielen hier gezeigt: https://www.npmjs.com/package/gulp-babel .

Hier ist meine Gulpfile.

var gulp = require('gulp'),
    babel = require('gulp-babel');

gulp.task('babelify', () => {
    gulp.src('js/*.js')
        .pipe(babel({
            presets: ['es2015']
        }))
    .pipe(gulp.dest('alljs'));
});

gulp.task('default', ['babelify']);

Ab dieser Ausgabe hier auch https://github.com/laravel/elixir/issues/354

Es wird empfohlen, den Knoten auf Version 5.xx und npm auf 3.xx zu aktualisieren


1

Die Situation, in der ich auf dieses Problem stoße, ist, dass ich die Dateien von xxxnach verschoben habe xxx/server. Und dann unter xxx/serversehe ich den Error: Couldn't find preset "es2015" relative to directory "/Users/username/xxx"Fehler. Der wahre Grund ist, dass ich vergessen habe, diese .babelrcDatei unter zu verschieben xxx. Und nachdem ich , dass bewegen .babelrczu xxx/server, geht der Fehler weg.


0

Ich hatte gerade eine wirklich komische. Ich habe alle Babel-Tools mit einem großen Long installiertnpm install Befehl installiert und alles ohne Fehler installiert ... außer dass der in diesem Thread dokumentierte Fehler zur Laufzeit ausgelöst wurde.

Ich bemerkte, dass die Version 0.0.0 in der Datei package.json war, also lief ich npm install --save-dev babel-preset-es2015erneut und es funktionierte und platzierte einen zweiten Schlüssel in meiner Datei package.json:

   "devDependencies": {
     "babel-cli": "^6.24.1",
     "babel-core": "^6.24.1",
     "babel-polyfill": "^6.23.0",
     "babel-preset-es2015": "^6.24.1",
     "babel-preset-es2015": "0.0.0",
     "babel-preset-stage-2": "^6.24.1",
     "eslint": "^3.19.0"
   }

Ich habe gerade den verpfuschten Eintrag entfernt und er hat diesen relative to directoryFehler behoben.


0

Mein Problem war, dass ein anderes Programm eine am Kompilierungsprozess beteiligte Datei verwendete (wahrscheinlich die .babelrc). Das Schließen mehrerer Apps hat mein Problem gelöst.

Für mich war Dropbox oder sogar Brackets Editor mit eqFTP-Erweiterung.

Schöne Grüße


0

Babel 7 Update

Aus den Dokumenten sollten Sie jetzt @babel/preset-envanstelle einer anderen presetErwähnung verwenden

Das Preset "env" ist seit mehr als einem Jahr nicht mehr verfügbar und ersetzt einige der Presets, die wir zuvor hatten / vorgeschlagen haben, vollständig.

  • babel-preset-es2015
  • babel-preset-es2016
  • babel-preset-es2017
  • babel-voreingestellt-spätestens
  • Eine Kombination der oben genannten ^
yarn add @babel/preset-env

oder

npm install @babel/preset-env
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.