babel-core
、babel-loader
、およびnpmを介して他のいくつかのパッケージをインストールしました
npm install babel-loader babel-core ...
これにより、私のpackage.json
に次の定義が作成されました。
"dependencies": {
"babel-core": "^6.26.3",
"babel-loader": "^8.0.0",
...
},
この質問の時点で、npmjs.comリポジトリによると、babel-core
の最新バージョンは確かに6.26.3
であり、babel-loader
の最新バージョンは8.0.0
です。
ただし、すべてを確認するためにnpm install
を再度実行すると、次のメッセージが表示されます。
npm WARN [email protected] requires a peer of @babel/core@^7.0.0 but none is installed. You must install peer dependencies yourself.
babel-loader
が、まだ存在しないbabel-core
のバージョンに依存するのはなぜですか?そして、この警告を解決するための推奨される方法は何ですか?
ありがとう!
[〜#〜] edit [〜#〜]babel-loader
ライブラリはわずか4日前に公開されたようです。これは、これが公開されたことによって引き起こされた比較的最近の問題でしょうか?
それで、それは私が疑ったようにバージョン管理の問題でした。
babel-loader
バージョン履歴ページ にアクセスして、最新のbabel-loader
バージョンとほぼ同時期に公開されたbabel-core
のバージョンを見つけたため、彼らはお互いにうまくいくでしょう。
この場合、6か月前の7.1.4
でした。
そこからすべてがうまくいきました。パッケージマネージャーの主な利点の1つが依存関係の問題を解決できることです。しかし、このようなプロジェクトには根本的な失敗があります。
"dependencies": {
"babel-core": "^6.26.3",
"babel-loader": "^7.1.4",
...
},
[email protected]
は、Babel 7.xで使用されるWebpack統合です。 Babel 7.xは、すべてのパッケージをbabel-
プレフィックスから@babel
npm
スコープに移動しました。
エラーは正しいです。babel-core
の代わりに@babel/core
を誤ってインストールしました。
Babel 6.xをインストールする場合は、次を実行できます。
npm install --save-dev babel-loader@7 babel-core
ただし、新しいプロジェクトを開始する場合は、Babel 7の方がはるかに理にかなっているので、理想的には
npm install --save-dev babel-loader @babel/core
5分前に同じエラーが発生しましたが、babel-loaderを再インストールすることで修正しました。
npm r babel-loader
npm i babel-loader@7