错误:无法找到相对于目录"/ Users/username"的预设"es2015"

Bri*_*las 82 javascript node.js ecmascript-6 gulp babeljs

尝试使用gulp-babel时出现以下错误:

错误:无法找到相对于目录"/ Users/username"的预设"es2015"

我在全局和本地安装了es2015预设,因此无法理解为什么这会成为一个问题.

下面是我的gulp设置和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'));
});
Run Code Online (Sandbox Code Playgroud)

的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"
  }
Run Code Online (Sandbox Code Playgroud)

我使用的是node v5.1.0和babel v6.4.0

这是终端输出

终端输出

小智 109

您只需要安装babel-preset-es2015:

CLI使用示例:

npm install babel-cli babel-preset-es2015
Run Code Online (Sandbox Code Playgroud)

  • 这为我解决了...哇,这是多么可怕的错误消息:错误:找不到相对于目录“ / path / to / node / package / attemping / to / install”的预设“ es2015” ...尤其痛苦试图安装一些使用gulp和babel的随机npm软件包 (3认同)
  • npm WARN已弃用babel-preset-es2015@6.24.1:感谢您使用Babel:我们建议您现在使用babel-preset-env:请阅读babeljs.io/env进行更新! (2认同)

Pic*_*ard 12

"es2015"中:

    .pipe(babel({
        presets: ['es2015']
    }))
Run Code Online (Sandbox Code Playgroud)

实际上是一个路径 - 所以如果你没有/ Users/username/es2015目录中的预设,你必须准确地指向它,例如:

.pipe(babel({
    presets: ['../../gulp/node_modules/babel-preset-es2015']
}))
Run Code Online (Sandbox Code Playgroud)

它对我有用


Iho*_*iak 10

要解决此问题,您应该从"/ Users/username"目录中删除.babelrc(隐藏)文件.


And*_*CIO 8

我只是使用了这个确切的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'));
});
Run Code Online (Sandbox Code Playgroud)

它对我有用.我只安装了babel,babel-preset-es2015gulp-babel.


小智 7

检查项目的根文件夹中是否有.babelrc文件.如果没有创建.babelrc文件并添加以下内容:

{
  "presets": ["es2015"]
}
Run Code Online (Sandbox Code Playgroud)

它解决了这个问题.


sar*_*eek 6

您可以尝试安装es2015stage-2通过

npm i babel-preset-es2015 --save
npm i babel-preset-stage-2 --save
Run Code Online (Sandbox Code Playgroud)