it-swarm.com.ru

Ошибка: не удалось найти предустановку "es2015" относительно каталога "/ Users / username"

Я получаю следующую ошибку при попытке использовать gulp-babel:

Ошибка: не удалось найти предустановку "es2015" относительно каталога "/ Users/username"

У меня предустановка es2015 установлена ​​глобально и локально, поэтому я не понимаю, почему это может быть проблемой.

Ниже мои настройки и 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"
  }

Я использую узел v5.1.0 и babel v6.4.0

Вот Результат терминала

выходной терминал

81
Brian Douglas

Вам нужно только установить babel-preset-es2015:

Пример использования CLI:

npm install babel-cli babel-preset-es2015
106
88mary256

"es2015" в:

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

на самом деле это путь - поэтому, если у вас нет предустановки в каталоге/Users/username/es2015, вы должны указать именно на нее, например:

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

это сработало для меня

12
Picard

Чтобы решить эту проблему, вы должны удалить .babelrc (скрытый) файл из каталога "/ Users/username".

9
Ihor Khomiak

Я просто использовал этот точный 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'));
});

и это сработало для меня. Я только установил babel, babel-preset-es2015 и gulp-babel.

7
Andrei CACIO

Проверьте, есть ли у вас файл .babelrc в корневой папке вашего проекта. Если нет, создайте файл .babelrc и добавьте следующее:

{
  "presets": ["es2015"]
}

Это исправило проблему.

7
Jeyenth

Я столкнулся с той же проблемой, и это было потому, что у меня был файл .babelrc в корне моего каталога.

Чтобы исправить это, добавьте babelrc: false в опции 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'));
});
4
Tom Van Rompaey

У меня была такая же проблема, и это второе предложение помогло мне заметить мою проблему, и, возможно, она ваша.

Тогда я npm install gulp-babel-es2015 вообще не включил его в gulpfile.

Тогда опция babel({presets: ['es2015']}) - это просто строка, как показано в примерах здесь https://www.npmjs.com/package/gulp-babel .

Вот мой глоток.

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

Кроме того, как из этого выпуска здесь, https://github.com/laravel/elixir/issues/354

Предполагается, что вам следует обновить узел до версии 5.x.x и npm до 3.x.x.

3
ArchNoob

Babel 7 обновление

Из docs теперь вы должны использовать @babel/preset-env вместо любого другого preset упоминания

Предустановка "env" существует уже больше года и полностью заменяет некоторые из предустановок, которые мы имели/предлагали ранее.

  • столпотворение-предустановленные es2015
  • столпотворение-предустановленные es2016
  • столпотворение-предустановленные es2017
  • столпотворение-Предустановленная последняя
  • Сочетание вышеперечисленного ^
yarn add @babel/preset-env

или же

npm install @babel/preset-env
0
ted

Вы можете попробовать установить es2015 и stage-2 через

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

Моя проблема заключалась в том, что другая программа использовала файл, участвующий в процессе компиляции (вероятно, .babelrc). Закрытие нескольких приложений решило мою проблему.

Для меня был Dropbox или даже редактор скобок с расширением eqFTP.

Привет

0
manuman94

Ситуация, когда я сталкиваюсь с этой проблемой, заключается в том, что я переместил файлы с xxx в xxx/server. И тогда под xxx/server я увижу ошибку Error: Couldn't find preset "es2015" relative to directory "/Users/username/xxx". Настоящая причина в том, что я забыл переместить этот файл .babelrc в xxx. И после того, как я переместил этот .babelrc в xxx/server, ошибка исчезнет.

0
sunkehappy

У меня был действительно странный. Я установил все инструменты babel с помощью одной большой длинной команды npm install, и все установилось без ошибок ... за исключением того, что во время выполнения выдает ошибку, задокументированную в этой теме.

Я заметил, что версия была 0.0.0 в файле package.json, поэтому я снова запустил npm install --save-dev babel-preset-es2015, и он сработал и поместил ВТОРОЙ ключ в мой файл 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"
   }

Я только что удалил ошибочную запись, и она очистила эту ошибку relative to directory.

0
agm1984