2016-01-15 2 views
58

ich folgende Fehlermeldung erhalten, wenn sie versuchen zu verwenden, schluck-babel:Fehler: Konnte keine Voreinstellung finden „es2015“ in Bezug auf das Verzeichnis „/ Users/username“

Error: Couldn't find preset "es2015" relative to directory "/Users/username"

ich die es2015 Preset global installiert haben und lokal kann also nicht sehen, warum das ein Problem wäre.

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" 
    } 

I Knoten v5.1.0 bin mit und babel V6.4.0

ist hier der Anschluss ouput

terminal output

+0

Ich denke, Sie müssen eine Zeichenfolge im 'Presets' Array übergeben, wie' ['es2015'] ', ich bin nicht sehr sicher, obwohl – thefourtheye

+0

@thefourtheye aber das gleiche Problem wie eine Zeichenfolge. –

+0

Sie brauchten keinen Schluck. Vielleicht könnte das der Grund sein 'var gulp = require ('gulp');' –

Antwort

6

ich gerade gebraucht Genau diese gulpfile.js

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 funktionierte für mich. Ich habe nur babel, babel-preset-es2015 und gulp-babel installiert.

+0

Können Sie mir Ihre Version von babel und node sagen? Ich habe die gleiche Einrichtung, wie Sie sehen können. aber immer noch das gleiche Fehler –

+0

Ich benutze Knoten 4.0 und babel 6 –

+0

Aktualisierte Beschreibung mit Terminal-Ausgang –

2

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

I npm install gulp-babel-es2015 dann nicht in der gulpfile überhaupt enthalten.

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

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']);

Auch, wie aus dieser Ausgabe hier, https://github.com/laravel/elixir/issues/354

Vorschläge sind Sie Knoten auf Version 5.x.x und npm aktualisieren sollte 3.x.x.

65

Sie brauchen nur babel-preset-es2015 zu installieren:

CLI Anwendungsbeispiel:

npm install babel-cli babel-preset-es2015 
+1

das hat es für mich gelöst ... WoW was für eine schreckliche Fehlermeldung: Fehler : Voreinstellung "es2015" relativ zum Verzeichnis "/ pfad/zu/node/package/attemping/to/install" konnte nicht gefunden werden ... besonders schmerzhaft, wenn ich versuche, ein zufälliges npm-paket zu installieren, das gulp und babel verwendet –

+0

sollte ich laufen Dieser Befehl mit --save-dev? – Doug

10

die "es2015" in:

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

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

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

es funktionierte für mich

+0

arbeitete auch für mich mit einem absoluten Pfad zum Ordner "Babel-Preset-Es2015" – valkalon

4

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

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')); 
}); 
+0

+1 Ich fand eine '.babelrc' Datei in meinem Stamm und das war das Problem. die config 'babelrc: false' scheint nicht zu funktionieren, aber wenn ich alles lösche klappt das! – overallduka

0

Ich hatte gerade eine wirklich seltsam ein:

diese babelrc: false innerhalb der babel Optionen zu beheben hinzuzufügen. Ich habe alle Babel-Tools mit einem großen langen npm install-Befehl installiert, und alles wurde ohne Fehler installiert ... außer dass es den in diesem Thread dokumentierten Fehler zur Laufzeit aufwarf.

Ich bemerkte die Version 0.0.0 in der package.json Datei war, so lief ich npm install --save-dev babel-preset-es2015 wieder und es funktionierte, und einen zweiten Schlüssel in meine package.json Datei platziert:

"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 das gerade entfernt verpfuschter Eintrag und es hat diesen relative to directory Fehler behoben.

2

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

3

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

{ 
    "presets": ["es2015"] 
} 

Es wurde das Problem behoben.