Nodachisoft Nodachi Sword Icon
  
@あまじ✎ 2020年7月21日に更新

node.jsバージョンアップ時のエラー対応記録「Cannot find module @babel/compat-data/corejs3-shipped-proposals」

node.js を 12.18 から 14.5 にバージョンアップして、javascript プロジェクトを実行しようとしたら、node modules の babel 関連パッケージと思われるエラーが出てビルドに失敗しました。

調べると、 Vue CLI やら React 関連の環境で同じようなエラーが起こってる方もいるみたいなので解決した方法とか、関連の情報を記録しておきます。

事象

node.js を2020年7月時点の最新版 v14.5 にアップデートして、React ベースの静的サイトジェネレータである Gatsby のプロジェクトを起動しようとしたところ、エラーが発生。

gatsby起動失敗ログ抜粋
Error: Cannot find module '@babel/compat-data/corejs3-shipped-proposals'

うむむ、エラーメッセージからして、なにやら Babel 関連のモジュール取得ができずにビルド時点で失敗している模様。

環境

エラー発生したと時の環境はこんな感じ。

項目 バージョン
OS Windows10 Home 64bit ビルド.18363
node.js 14.5.0
npm 6.14.5

package.json 抜粋

問題が起こったパッケージバージョンを抜粋

package.jsonのGatsby関連
 "dependencies": {
   :略
    "@babel/core": "^7.2.2",    "gatsby": "^2.20.29",
    "gatsby-image": "^2.2.44",
     :略
 }

原因と解決への方針

Node のバージョン 13.13 以降の Conditional Exports 機能を使った パッケージ読み込み時に Babel パッケージの読み込みに失敗しているみたい。

(英語参考)Conditional Exports の仕様 … package.json の中の exports 欄にパッケージが提供するモジュールを CommonJS や ES Module 形式で書くと、node.js が読み取ってくれる。

Node.js 公式 の Issues - Errors from conditional exports after upgraded to Node 13.13 #32852 に記載あり。

解決

babel パッケージですでに修正版を出してくれているので、バージョンアップして取得しなおします。ありがたやありがたや‥。

下にあるパッケージ使ってたら、対応後のバージョンへアップデートしましょー。

  • @babel/preset-env は 7.9.0 以上に。
  • @babel/core は 7.9.0 以上に。
  • @babel/compat-data は 7.9.0 以上に。

package.json 抜粋

修正後のパッケージバージョンを抜粋

修正後のpackage.json(抜粋)
 "dependencies": {
   :略
    "@babel/core": "~7.9.0",    "@babel/compat-data": "~7.9.0",    "gatsby": "^2.20.29",
    "gatsby-image": "^2.2.44",
     :略
 }

自分の環境では、 @babel/core と @babel/compat-data の二つをアップデート。

npm install で更新して、gatsby develop が無事に動作しました。

おしまい。

解決その2

node.js を バージョン 13.2 以前に戻したらとりあえず解決するかと思われます。

あんまりパッケージを変更したくないなどでしたら、とりあえずバージョンを戻してけば良さそうです。

参考

変更履歴

  • 2020/07/21 初版公開
 
 
送信しました!

コメント、ありがとうございます。

なんかエラーでした

ごめんなさい。エラーでうまく送信できませんでした。ご迷惑をおかけします。しばらくおいてから再度送信を試していただくか、以下から DM などでご連絡頂ければと思います。

Twitter:@NodachiSoft_jp
お名前:
 
連絡先:
 
メッセージ:
 
戻る
内容の確認!

以下の内容でコメントを送信します。よろしければ、「送信」を押してください。修正する場合は「戻る」を押してください

お名前:
 
連絡先:
 
メッセージ:
 
Roboto からの操作ではないという確認のため確認キーを入れてください。
確認キー=95
戻る
 / 
送信確認へ
コメント欄
コメント送信確認へ

関連ありそうな記事(2件)です!

Gatsby の npmパッケージをアップデートしたときのエラー

#Node.js#Gatsby✎ 2020-07-21
Gatsby の npmパッケージをアップデートしたときに nbind.js がエラー(Cannot read property 'activities' of undefined)となったときの対処方法
広告領域
追従 広告領域
目次
node.jsバージョンアップ時のエラー対応記録「Cannot find module @babel/compat-data/corejs3-shipped-proposals」
node.jsバージョンアップ時のエラー対応記録「Cannot find module @babel/compat-data/corejs3-shipped-proposals」
事象
事象
環境
環境
package.json 抜粋
package.json 抜粋
原因と解決への方針
原因と解決への方針
解決
解決
package.json 抜粋
package.json 抜粋
解決その2
解決その2
参考
参考
変更履歴
変更履歴
Nodachisoft © 2020