エラー:ディレクトリ「/ Users / username」に対してプリセット「es2015」が見つかりませんでした


84

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

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とbabelv6.4.0を使用しています

これがターミナル出力です

端子出力


presets配列に文字列を渡す必要があると思いますが、['es2015']よく
わかり

@thefourtheyeありがとうございますが、文字列と同じ問題です。
ブライアンダグラス

あなたは一口を必要としませんでした。多分それが原因かもしれませんvar gulp = require('gulp');
Andrei CACIO 2016年

@AndreiCacio私はgulpを含めましたが、コードスニペットには含まれていません。私はbabelコンパイラに関連するコードのみを含めました。
ブライアンダグラス

3
あなたが持って起こるん.babelrc自分のホームディレクトリにファイルを?それがプリセットを探している場所なので、それは構成がどこから来ているかを意味します。
loganfsmyth 2016年

回答:


115

インストールする必要があるのはbabel-preset-es2015

CLIの使用例:

npm install babel-cli babel-preset-es2015

3
これは私のためにそれを解決しました...なんてひどいエラーメッセージ:エラー:ディレクトリ "/ path / to / node / package / attemping / to / install"に対してプリセット "es2015"が見つかりませんでした...特に苦痛なときgulpとbabelを使用するランダムなnpmパッケージをインストールしようとしています
Scott Stensland 2017

2
npm警告非推奨のbabel-preset-es2015@6.24.1:🙌Babelをご利用いただきありがとうございます:今すぐbabel-preset-envを使用することをお勧めします:更新するにはbabeljs.io/envをお読みください!
2018年

この素晴らしいソリューションをどうもありがとう。
パワン

12

の「es2015」:

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

は実際にはパスです。したがって、/ Users / username / es2015ディレクトリにプリセットがない場合は、たとえば次のように正確にポイントする必要があります。

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

それは私のために働いた


また、「babel-preset-es2015」フォルダーへの絶対パスを使用して作業しました
valkalon 2017年

これは単純すぎるように思われるかもしれないので、コメントとして追加するだけですが、すべてが正しいスペルであることを確認してください。数字を転置した「es2105」というラベルを付けていたので、しばらく頭をかいてしまいました。
ロバートオシュラー

12

この問題を修正するには、「/ Users / username」ディレクトリから.babelrc(隠し)ファイルを削除する必要があります。


完璧です。これは確かに非常に隠された問題です。私のためにそれを解決しました
Amgad

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

そしてそれは私のために働いた。Iのみインストールbabelbabel-preset-es2015およびgulp-babel


babelとnodeのバージョンを教えてください。私はあなたが見ることができるのと同じセットアップをしています。しかし、それでも同じエラー
ブライアンダグラス

私はノード4.0と
babel6

ターミナル出力で説明を更新
Brian Douglas

それは、Windows関連の問題またはそのようなsmthである可能性があります。私はあなたがチェックアウトできる同様のスレッドを見つけました:github.com/laravel/elixir/issues/354多分それは問題に光を当てるでしょう。
Andrei CACIO 2016年

1
babel-preset-es2015ここに示すように明示的にロードすると、問題が解決しました。
givemesnacks 2016年

7

プロジェクトのルートフォルダに.babelrcファイルがあるかどうかを確認します。そうでない場合は、.babelrcファイルを作成し、以下を追加します。

{
  "presets": ["es2015"]
}

問題を修正しました。


私の日を救った!ありがとう
メノッシュ

5

インストールes2015stage-2てみてください

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

4

同じ問題が発生しました.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'));
});

+1.babelrcルートにファイルが見つかりましたが、これが問題でした。設定babelrc: falseが機能していないようですが、削除するとすべてが機能します!
overallduka

3

私は同じ問題を抱えていました、そしてこの2番目の提案は私が私の問題に気付くのを助けました、そして多分それはあなたのものでもあります。

npm install gulp-babel-es2015それから私はそれをgulpfileにまったく含めませんでした。

次に babel({presets: ['es2015']})場合、オプションは、https://www.npmjs.com/package/gulp-babelの例に示されているように単なる文字列です。

これが私の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']);

また、この号からここに、 https://github.com/laravel/elixir/issues/354

ノードをバージョン5.xxに、npmを3.xxに更新することをお勧めします


1

この問題が発生する状況は、ファイルをからxxxに移動したことですxxx/server。そして、その下xxx/serverError: Couldn't find preset "es2015" relative to directory "/Users/username/xxx"エラーが表示されます。本当の理由は、その.babelrcファイルをの下に移動するのを忘れたからですxxx。そして、それをに移動.babelrcするxxx/serverと、エラーはなくなります。


0

私は本当に奇妙なものを持っていました。私はすべてのbabelツールを1つの大きな長いnpm installコマンドでインストールし、すべてがエラーなしでインストールされました...実行時にこのスレッドに記載されているエラーをスローすることを除いて。

package.jsonファイルのバージョンが0.0.0であることに気付いたので、npm install --save-dev babel-preset-es2015もう一度実行して動作し、package.jsonファイルに2番目のキーを配置しました。

   "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

私の問題は、他のプログラムがコンパイルプロセスに関係するファイル(おそらく.babelrc)を使用していたことでした。いくつかのアプリを閉じると、私の問題は解決しました。

私にとっては、DropboxまたはeqFTP拡張機能を備えたBracketsEditorでした。

ご挨拶


0

Babel7アップデート

ドキュメントから、@babel/preset-env他のpreset言及の代わりに使用する必要があります

「env」プリセットは1年以上前からリリースされており、以前に持っていた/提案したプリセットの一部を完全に置き換えています。

  • babel-preset-es2015
  • babel-preset-es2016
  • babel-preset-es2017
  • バベル-プリセット-最新
  • 上記の組み合わせ^
yarn add @babel/preset-env

または

npm install @babel/preset-env
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.