始めるために私は走った:
npm install --save-dev babel-cli
npm install --save-dev babel-preset-es2015
npm install --save-dev babel-preset-stage-0
ここに私のpackage.jsonがあります:
{
"scripts": {
"build": "babel src -d dist"
},
"devDependencies": {
"babel-cli": "^6.6.5",
"babel-core": "^6.7.2",
"babel-preset-es2015": "^6.6.0",
"babel-preset-stage-0": "^6.5.0"
}
}
これが私の.babelrcファイルです。
{
"presets": ["es2015", "stage-0"]
}
私のファイル構造は次のとおりです。
- Root
- src
- client
- server
- test
- dist
- package.json
ルートフォルダーからnpm run buildを呼び出しています。ソースフォルダーをdistフォルダーにコンパイルすることを期待しています。実行すると、このエラーが表示されます。
> babel src -d dist
sh: babel: command not found
npm ERR! Darwin 15.2.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "build"
npm ERR! node v5.8.0
npm ERR! npm v3.7.3
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! [email protected] build: `babel src -d dist`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the [email protected] build script 'babel src -d dist'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the redacted package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! babel src -d dist
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs redacted
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls redacted
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /Users/user/redacted/npm-debug.log
ご覧のとおり、私はbabel-cliをインストールし、プリセットをインストールしましたが、すべてがbabelのドキュメントに従って正常に動作していると思います。
なぜ機能しないのかについてのアイデアはありますか? babel npmファイルが欠落していませんか? 「babel src -d dist」は間違っていますか?
あなたが提供できる助けをありがとう!
別のフォルダを作成して同じ手順を実行しましたが、完全に機能しました。何らかの理由で、このディレクトリで機能していません。
Devパッケージをインストールするために「npm install」を実行しましたか?
私は最近同じ問題に出くわしました。 node_modulesフォルダーを削除してnpm install
は再び問題を修正しません。
このエラーが発生する理由は、プロジェクトの依存関係としてではなく、グローバルにbabel-cliをインストールする必要があるためです。
実行npm install -g babel-cli
をグローバルにインストールします。
Babel-preset-es2015は、プロジェクトのdev依存関係としてインストールできますnpm install --save-dev babel-preset-es2015
Babel-cliをグローバルにインストールすることは絶対にしないでください。実際には、公式ドキュメントから 具体的には段落全体に指示しないように をインストールする必要があります。
編集package.json
>>という名前のキーを持つスクリプトを追加します。たとえば、build
という値と./node_modules/.bin/babel <commands>
build
と呼んだ場合は、npm run build
と入力してください。
./node_modules/.bin
が$PATH
にないため、エラーが発生します。 ./node_modules/.bin
は、すべての実行可能バイナリが見つかる場所です。
ドキュメント で推奨されているように、node_modules
内のbabel
cliを参照できます。
$ ./node_modules/.bin/babel src -d lib
npm run build
コマンドを変更して、これを使用できます。
"scripts": {
"build": "./node_modules/.bin/babel src -d dist"
},
上記の答えの多くは正しいです。
./node_modules/.binが
$PATH
にないため、エラーが発生します。./node_modules/.bin
は、すべての実行可能バイナリが見つかる場所です。
私がやったのは、zshrcファイルに単純な動的エイリアス関数を作成したことです。
# Babel
function bbl() {
./node_modules/.bin/babel "$@"
}
これでbabelの代わりにbbl
を使用できます
bbl --version
6.24.1 (babel-core 6.25.0)