Errore: impossibile trovare il preset "es2015" relativo alla directory "/ Users / username"


84

Ottengo il seguente errore quando provo a usare gulp-babel:

Errore: impossibile trovare il preset "es2015" relativo alla directory "/ Users / username"

Ho il preset es2015 installato a livello globale e locale, quindi non riesco a capire perché questo sarebbe un problema.

Di seguito è riportato il mio gulp impostato e 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"
  }

Sto usando il nodo v5.1.0 e babel v6.4.0

Ecco l'uscita del terminale

uscita terminale


Penso che tu abbia bisogno di passare una stringa presetsnell'array, tipo ['es2015'], non ne sono molto sicuro però
thefourtheye

@thefourtheye Grazie ma stesso problema di una stringa.
Brian Douglas

Non hai bisogno di gulp. Forse questa potrebbe essere la causavar gulp = require('gulp');
Andrei CACIO

@AndreiCacio Ho incluso gulp non è nello snippet di codice. Ho incluso solo il codice relativo al compilatore babel.
Brian Douglas

3
Ti capita di avere un .babelrcfile nella tua home directory? Poiché è lì che sta cercando il preset, significa che è da lì che proviene la configurazione.
loganfsmyth

Risposte:


115

Devi solo installare babel-preset-es2015:

Esempio di utilizzo della CLI:

npm install babel-cli babel-preset-es2015

3
questo lo ha risolto per me ... WoW che terribile messaggio di errore: Errore: Impossibile trovare il preset "es2015" relativo alla directory "/ path / to / node / package / attemping / to / install" ... particolarmente doloroso quando cercando di installare un pacchetto npm casuale che utilizza gulp e babel
Scott Stensland,

2
npm WARN deprecato babel-preset-es2015@6.24.1: 🙌 Grazie per aver utilizzato Babel: si consiglia di utilizzare babel-preset-env ora: leggere babeljs.io/env per l'aggiornamento!
Syed

Grazie mille per questa fantastica soluzione.
Pawan

12

l '"es2015" in:

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

è in realtà un percorso, quindi se non hai il preset nella directory / Users / username / es2015 devi puntare esattamente ad esso come ad esempio:

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

ha funzionato per me


ha funzionato anche per me utilizzando un percorso assoluto alla cartella "babel-preset-es2015"
valkalon

Questo può sembrare eccessivamente semplicistico, quindi lo aggiungo solo come commento, ma assicurati di scrivere tutto bene. Avevo l'etichetta "es2105" con le cifre trasposte e mi ha fatto grattare la testa per un po '.
Robert Oschler

12

Per risolvere questo problema, rimuovere il file .babelrc (nascosto) dalla directory "/ Users / username".


Perfetto. questo è davvero un problema molto nascosto. Risolto per me
Amgad

8

Ho appena usato questo esatto 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'));
});

e ha funzionato per me. Ho solo installato babel, babel-preset-es2015e gulp-babel.


Potresti dirmi la tua versione di Babele e Nodo. Ho la stessa configurazione che puoi vedere. ma ancora lo stesso errore
Brian Douglas

Sto usando il nodo 4.0 e babel 6
Andrei CACIO

Descrizione aggiornata con output del terminale
Brian Douglas

Potrebbe essere un problema relativo a Windows o qualcosa del genere. Ho trovato un thread simile che puoi controllare: github.com/laravel/elixir/issues/354 forse farà luce sul problema.
Andrei CACIO

1
Il caricamento babel-preset-es2015esplicito come mostrato qui ha risolto il mio problema.
givemesnacks

7

Controlla se hai il file .babelrc nella cartella principale del tuo progetto. In caso contrario, creare il file .babelrc e aggiungere quanto segue:

{
  "presets": ["es2015"]
}

Ha risolto il problema.


Mi ha salvato la giornata! Grazie
Mehrnoosh

6

Potresti provare a installare es2015e stage-2tramite

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

4

Ho riscontrato lo stesso problema ed è stato perché avevo un .babelrcfile nella radice della mia directory.

Per risolvere questo problema aggiungi babelrc: falsenelle opzioni di babel:

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 ho trovato un .babelrcfile nella mia root e questo era il problema. la configurazione babelrc: falsesembra non funzionare, ma quando elimino tutto funziona!
overallduka

3

Ho avuto lo stesso problema e questo secondo suggerimento mi ha aiutato a notare il mio problema e forse è anche il tuo.

Io npm install gulp-babel-es2015poi non ho incluso nel gulpfile a tutti.

Quindi l' babel({presets: ['es2015']})opzione è solo una stringa come mostrato negli esempi qui https://www.npmjs.com/package/gulp-babel .

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

Inoltre, a partire da questo numero qui, https://github.com/laravel/elixir/issues/354

I suggerimenti sono che dovresti aggiornare il nodo alla versione 5.xx e npm alla 3.xx


1

La situazione in cui ho riscontrato questo problema è che ho spostato i file da xxxa xxx/server. E poi sotto xxx/servervedrò l' Error: Couldn't find preset "es2015" relative to directory "/Users/username/xxx"errore. Il vero motivo è che ho dimenticato di spostare quel .babelrcfile in xxx. E dopo che mi muovo .babelrca xxx/server, l'errore va via.


0

Ne ho appena avuto uno davvero strano. Ho installato tutti gli strumenti di babel con un grande npm installcomando lungo e tutto è stato installato senza errori ... tranne che stava lanciando l'errore documentato in questo thread, in fase di esecuzione.

Ho notato che la versione era 0.0.0 nel file package.json, quindi ho eseguito di npm install --save-dev babel-preset-es2015nuovo e ha funzionato e ho inserito una SECONDA chiave nel mio file 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"
   }

Ho appena rimosso la voce mal riuscita e ho risolto questo relative to directoryerrore.


0

Il mio problema era che un altro programma utilizzava un file coinvolto nel processo di compilazione (probabilmente il .babelrc). La chiusura di diverse app ha risolto il mio problema.

Per me era Dropbox o anche Brackets Editor con estensione eqFTP.

Saluti


0

Aggiornamento Babel 7

Dai documenti che dovresti usare ora @babel/preset-envinvece di qualsiasi altra presetmenzione

Il preset "env" è uscito da più di un anno e sostituisce completamente alcuni dei preset che avevamo / suggerito in precedenza.

  • babel-preset-es2015
  • babel-preset-es2016
  • babel-preset-es2017
  • babel-preset-latest
  • Una combinazione di quanto sopra ^
yarn add @babel/preset-env

o

npm install @babel/preset-env
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.