Rails 6.1で起こったwebcompile errorについて
以前webcompileをしたときの内容の備忘録です。何か間違えがあればよろしくお願いします。
Referencesにおいてある記事はHerokuについて書かれているものもあったのですが、AWSでも機能したので、メモ程度に書いておきます。
環境設定
node -v 16.17.0
yarn -v 1.22.19
ruby -v 3.0.2
rails -v 6.1.4
最初に起こったエラー
Compiling...
Compilation failed:
node:internal/process/promises:289
triggerUncaughtException(err, true /* fromPromise */);
^
Error: Cannot find package '@babel/plugin-proposal-private-methods' imported from ...
AWSでprecompileを実行したらこのエラーに遭遇しました。
初めに@babel/plugin-proposal-private-methodsが存在しないようだったので、nodeを再度インストールを試みました。しかしながら、@babelにはすでに@babel/plugin-private-methodが存在していました。
よって先人の知恵を借りて以下のようにbabel.config.js変更しました。
@babel/plugin-proposal-private-methods
↓
@babel/plugin-proposal-private-property-in-object
@babel/plugin-transform-private-methods
↓
@babel/plugin-transform-private-property-in-object
このように変更することでAWSでも無事precompileできました。
個人的な話ですが、多くの方が思っていることですが、エラー文を確認する癖をつける必要があると感じました。
References
↓こちらが同じ現象でわかりやすいと思います