Yeomanジェネレーター「Webapp」を実行すると、gulp serveを実行するとエラーが発生します。より良い背景のために以下のバージョンがあります:
sw_vers && node -e 'console.log(process.platform, process.versions)'
ProductName: Mac OS X
ProductVersion: 10.11.3
BuildVersion: 15D21
darwin { http_parser: '2.6.0',
node: '5.2.0',
v8: '4.6.85.31',
uv: '1.7.5',
zlib: '1.2.8',
ares: '1.10.1-DEV',
icu: '56.1',
modules: '47',
openssl: '1.0.2e' }
node -v
v5.2.0
gulp -v
Requiring external module babel-register
CLI version 3.9.1
Local version 3.9.1
最後に、gulp serveエラー:
gulp serve
Requiring external module babel-register
\node_modules/babel-core/lib/transformation/file/options/option-manager.js:372
throw new Error("Couldn't find preset " + JSON.stringify(val) + " relative to directory " + JSON.stringify(dirname));
誰かが問題が何であるかについて考え、提案がありますか?
これが私が試したものです:
npm uninstall gulp
npm install gulp
//with global flag and not
npm install --save-dev gulp
//installing babel-register manually w/wo global flag and --save-dev
npm install babel-register
npm cache clean
また、同様の問題があり、成功しなかった他のいくつかの投稿を読んでください。
gulp serve:外部モジュールbabel-core/registerのロードに失敗しました
はい、npm install --global gulp-cli
を実行した後、gulp -v
を実行すると、
Failed to load external module babel-register
Requiring external module babel-core/register
CLI version 1.2.1
Local version 3.9.1
次に、CLIのバージョンを3.9.1に更新しました(ローカルで持っているのと同じです)が、役に立ちませんでした。しかしCLIバージョンを3.9.0にダウングレードすると正しく動作し始め、「外部モジュールbabel-registerをロードできませんでした」というメッセージは表示されなくなりました。 3.9.1はバグがあるようです。実行:
npm install -g [email protected]
うまくいけば、それはあなたを助けるでしょう。
多分これは助けることができます。
作成.babelrc
あなたのプロジェクトに入れて、これを入れてください:
{
"presets": [
"es2015"
]
}
私は上記を含む多くの方法を試してみました
npm install --global gulp
npm install --save-dev gulp
etcをgulpのインストールに使用しましたが、phpStormコマンドラインでgulpをgulp-cliに変更するコマンドの下で実行すると、最終的に解決策が見つかりました。
npm install -D babel
npm install babel-cli babel-preset-es2015