2016-01-15 8 views
58

を見つけることができませんでした、私は次のエラーを取得する:エラー:ゴクゴク-バベルを使用しようとすると、プリセット「es2015」相対ディレクトリに「/ユーザ/ユーザ名」

Error: Couldn't find preset "es2015" relative to directory "/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とバベルv6.4.0

を使用しています、私はちょうど使用

terminal output

+0

私はあなたが、 '[「es2015」]'のように、私は – thefourtheye

+0

@thefourtheyeのおかげではなく文字列と同じ問題かかわらず、非常に確認していない、 'presets'配列内の文字列を渡す必要があると思います。 –

+0

ガルプは必要ありませんでした。たぶんそれは、 'VARの一口は=(「がぶ飲み」)を必要と原因である可能性があります;' –

答えて

6

ouputを端末であり、この正確な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')); 
}); 

それは私のために働いた。私はbabelbabel-preset-es2015gulp-babelをインストールしました。

+0

あなたのバーベルとノードのバージョンを教えてください。 私はあなたが見るのと同じ設定をしています。それでも同じエラー –

+0

私はターミナルの出力を持つノード4.0とバベル6 –

+0

更新記述を使用しています –

2

私は同じ問題があったが、この第二の提案は私の問題に気付いて、私を助け、多分それはあまりにもあなたです。

I npm install gulp-babel-es2015は、それをガルプファイルにまったく含めませんでした。

次に、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

提案は、あなたが3.x.x.にバージョン5.x.xとNPMにノードを更新する必要があります

65

あなただけbabel-preset-es2015をインストールする必要があります。

CLIの使用例:

npm install babel-cli babel-preset-es2015 
+1

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

+0

このコマンドは--save-dev? – Doug

10

で "es2015":

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

が実際のパスです - ので、あなたがいない場合

:あなたはインスタンスのようにそれを正確にポイントする必要があり/ユーザ/ユーザ名/ es2015ディレクトリにプリセットを持っています
.pipe(babel({ 
    presets: ['../../gulp/node_modules/babel-preset-es2015'] 
})) 

それは私が同じ問題に遭遇し、私は私のディレクトリのルートに.babelrcファイルを持っていたので、それがあった私のため

+0

も ​​"babel-preset-es2015"フォルダへの絶対パスを使用して私のために働いた – valkalon

4

を働きました。これはバベルのオプションの内部babelrc: falseを追加する修正するには

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

+1私のルートに '.babelrc'ファイルがあり、これが問題でした。設定 'babelrc:false'はうまくいかないようですが、すべて削除すると動作します! – overallduka

0

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

私はバージョンがpackage.jsonファイルで0.0.0に気づいたので、私は再びnpm install --save-dev babel-preset-es2015を実行し、それが私のpackage.jsonファイルにSECONDキーを働いたと置い:私はちょうど取り除か

"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エラーをクリアしました。この問題を解決するには

2

あなたは「/ユーザ/ユーザ名」ディレクトリから.babelrc(隠された)ファイルを削除する必要があります。あなたのプロジェクトのルートフォルダに.babelrcファイルを持っている場合

3

チェック。 .babelrcファイルを作成し、以下を追加しない場合:

{ 
    "presets": ["es2015"] 
} 

それは問題を修正しました。

関連する問題