web-dev-qa-db-ja.com

エラー:npm install --global babel-preset-reactを使用してインストールした場合、プリセット「react」が見つかりませんでしたが、グローバルフラグなしで機能します

npm install --global babel-cliを使用してBabel CLI(バージョン6)をインストールしました。次に、npm install --global babel-preset-reactを使用して反応プリセットをインストールします。

次に、プロジェクトディレクトリの.babelrcファイルをセットアップして、

{
    "presets": ["react"]
}

JSXファイルをビルドしようとすると失敗します

Error: Couldn't find preset "react"
    at OptionManager.mergePresets (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:310:17)
    at OptionManager.mergeOptions (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:270:12)
    at OptionManager.addConfig (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:206:10)
    at OptionManager.findConfigs (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:347:16)
    at OptionManager.init (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:392:12)
    at File.initOptions (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/index.js:191:75)
    at new File (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/index.js:122:22)
    at Pipeline.transform (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/pipeline.js:42:16)
    at transform (/usr/local/lib/node_modules/babel-cli/lib/babel/util.js:53:22)
    at Object.compile (/usr/local/lib/node_modules/babel-cli/lib/babel/util.js:62:12)

--globalフラグなしでプリセットをインストールする(つまり、node_modules /フォルダーにローカルにインストールする)場合、ビルドは機能します。 babelがグローバルプリセットで動作するように設定するにはどうすればよいですか?

15
Karan

使用しようとしているプリセットへの絶対(または相対)パスを指定できます。例:

babel --presets /usr/local/lib/node_modules/babel-preset-react --watch jsx/ --out-dir js/
13

オプションの修正

このようにすることができます。これらの行をプロンプトに記述します。今、唯一のことはグローバルであり、あなたは@Petarによって上で提案された修正を使用する必要があるかもしれません

babel --presets /usr/local/lib/node_modules/babel-preset-react --watch jsx/ --out-dir js/

しかし、これはあなたが必要とするすべてを行います。

npm i babel-cli babel-preset-react 

babel --presets react jsx/ --watch --out-dir js/

そして、オプションでcontent = node_modules /で.gitignoreファイルをgithubリポジトリに追加し、同じコマンドでjsx変換を実行します。

1
Tarandeep Singh