Error: no se pudo encontrar el valor predeterminado "es2015" relativo al directorio "/ Usuarios / nombre de usuario"

84

Recibo el siguiente error al intentar usar gulp-babel:

Error: no se pudo encontrar el ajuste preestablecido "es2015" relativo al directorio "/ Usuarios / nombre de usuario"

Tengo el ajuste preestablecido es2015 instalado global y localmente, por lo que no veo por qué esto sería un problema.

A continuación se muestra mi configuración de gulp y 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"
  }

Estoy usando el nodo v5.1.0 y babel v6.4.0

Aquí está la salida terminal

salida terminal

Brian Douglas
fuente
Creo que necesita pasar una cadena en la presetsmatriz, como ['es2015'], aunque no estoy muy seguro
thefourtheye
@thefourtheye Gracias, pero el mismo problema que una cadena.
Brian Douglas
No necesitabas tragar. Quizás esa podría ser la causavar gulp = require('gulp');
Andrei CACIO
@AndreiCacio He incluido gulp, simplemente no está en el fragmento de código. Solo he incluido el código relevante para el compilador de babel.
Brian Douglas
3
¿Tiene un .babelrcarchivo en su directorio personal? Dado que ahí es donde está buscando el preset, eso significa que es de donde viene la configuración.
loganfsmyth

Respuestas:

115

Solo necesitas instalar babel-preset-es2015:

Ejemplo de uso de CLI:

npm install babel-cli babel-preset-es2015
88mary256
fuente
3
esto lo resolvió para mí ... WoW, qué terrible mensaje de error: Error: No se pudo encontrar el ajuste preestablecido "es2015" relativo al directorio "/ ruta / a / nodo / paquete / intentando / a / instalar" ... especialmente doloroso cuando tratando de instalar algún paquete npm aleatorio que usa gulp y babel
Scott Stensland
2
npm WARN obsoleto [email protected]: 🙌 Gracias por usar Babel: recomendamos usar babel-preset-env ahora: ¡lea babeljs.io/env para actualizar!
Syed
Muchas gracias por esta increíble solución.
Pawan
12

el "es2015" en:

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

es en realidad una ruta, por lo que si no tiene el ajuste preestablecido en el directorio / Users / username / es2015, debe apuntar exactamente a él como, por ejemplo:

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

funcionó para mi

Picard
fuente
también funcionó para mí usando una ruta absoluta a la carpeta "babel-preset-es2015"
valkalon
Esto puede parecer demasiado simplista, por lo que solo lo agrego como un comentario, pero asegúrese de deletrear todo bien. Tenía la etiqueta como 'es2105' con los dígitos transpuestos y me hizo rascar la cabeza por un tiempo.
Robert Oschler
12

Para solucionar este problema, debe eliminar el archivo .babelrc (oculto) del directorio "/ Users / username".

Ihor Khomiak
fuente
Perfecto. de hecho, este es un problema muy oculto. Me lo
resolvió
8

Acabo de usar este gulpfile.js exacto

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

Y funcionó para mí. Sólo instalado babel, babel-preset-es2015y gulp-babel.

Andrei CACIO
fuente
¿Podría decirme su versión de babel y node. Tengo la misma configuración que puedes ver. pero sigue siendo el mismo error
Brian Douglas
Estoy usando el nodo 4.0 y babel 6
Andrei CACIO
Descripción actualizada con salida de terminal
Brian Douglas
Puede ser un problema relacionado con Windows o algo así. Encontré un hilo similar que puedes consultar: github.com/laravel/elixir/issues/354 tal vez arroje luz sobre el problema.
Andrei CACIO
1
La carga babel-preset-es2015explícita como se muestra aquí resolvió mi problema.
givemesnacks
7

Compruebe si tiene el archivo .babelrc en la carpeta raíz de su proyecto. De lo contrario, cree el archivo .babelrc y agregue lo siguiente:

{
  "presets": ["es2015"]
}

Solucionó el problema.

Jeyenth
fuente
¡Salvó mi día! Gracias
Mehrnoosh
5

Podrías intentar instalar es2015y stage-2vía

npm i babel-preset-es2015 --save
npm i babel-preset-stage-2 --save
sareek
fuente
4

Encontré el mismo problema y fue porque tenía un .babelrcarchivo en la raíz de mi directorio.

Para arreglar esto, agregue babelrc: falsedentro de las opciones de 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'));
});
Tom Van Rompaey
fuente
+1 encontré un .babelrcarchivo en mi raíz y este fue el problema. la configuración babelrc: falseparece no funcionar, pero cuando elimino todo funciona.
Overallduka
3

Tuve el mismo problema y esta segunda sugerencia me ayudó a darme cuenta de mi problema y tal vez también sea el tuyo.

Yo npm install gulp-babel-es2015entonces no lo incluye en el gulpfile en absoluto.

Entonces la babel({presets: ['es2015']})opción es solo una cadena como se muestra en los ejemplos aquí https://www.npmjs.com/package/gulp-babel .

Aquí está mi 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']);

Además, a partir de este número aquí, https://github.com/laravel/elixir/issues/354

Las sugerencias son que debe actualizar el nodo a la versión 5.xx y npm a 3.xx

ArchNoob
fuente
1

La situación en la que encuentro este problema es que moví los archivos de xxxa xxx/server. Y luego debajo xxx/serververé el Error: Couldn't find preset "es2015" relative to directory "/Users/username/xxx"error. La verdadera razón es que me olvidé de mover ese .babelrcarchivo debajo xxx. Y después de mover eso .babelrca xxx/server, el error desaparece.

feliz
fuente
0

Acabo de tener uno realmente extraño. Instalé todas las herramientas de babel con un npm installcomando grande y largo , y todo se instaló sin errores ... excepto que arrojaba el error documentado en este hilo, en tiempo de ejecución.

Noté que la versión era 0.0.0 en el archivo package.json, así que volví a ejecutar npm install --save-dev babel-preset-es2015y funcionó y coloqué una SEGUNDA clave en mi archivo 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"
   }

Acabo de eliminar la entrada fallida y borró este relative to directoryerror.

agm1984
fuente
0

Mi problema fue que otro programa estaba usando un archivo involucrado en el proceso de compilación (probablemente el .babelrc). Cerrar varias aplicaciones resolvió mi problema.

Para mí fue Dropbox o incluso Brackets Editor con extensión eqFTP.

Saludos

manuman94
fuente
0

Actualización de Babel 7

De los documentos que ahora debería usar en @babel/preset-envlugar de cualquier otra presetmención

El ajuste preestablecido "env" ha estado disponible durante más de un año y reemplaza por completo algunos de los ajustes preestablecidos que teníamos o sugerimos anteriormente.

  • babel-preset-es2015
  • babel-preset-es2016
  • babel-preset-es2017
  • babel-preset-latest
  • Una combinación de lo anterior ^
yarn add @babel/preset-env

o

npm install @babel/preset-env
ted
fuente