Rails tutorialでnode.js16を利用するとコンパイルできない件。
Rails Tutorialの第1章から学び直している途中で、herokuにアップロードができないトラブルに見舞われました。
使っていた環境はこちら
-----> Installing node-v16.13.1-linux-x64
-----> Installing yarn-v1.22.17
-----> Detecting rake tasks
-----> Preparing app for Rails asset pipeline
Running: rake assets:precompile
yarn install v1.22.17
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning " > webpack-dev-server@4.7.4" has unmet peer dependency "webpack@^4.37.0 || ^5.0.0".
warning "webpack-dev-server > webpack-dev-middleware@5.3.1" has unmet peer dependency "webpack@^4.0.0 || ^5.0.0".
[4/4] Building fresh packages...
Done in 3.15s.
I, [2022-03-15T08:14:10.843564 #910] INFO -- : Writing /tmp/build_7b2c4a46/public/assets/application-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css
I, [2022-03-15T08:14:10.844624 #910] INFO -- : Writing /tmp/build_7b2c4a46/public/assets/application-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css.gz
Compiling...
Compilation failed:
yarn run v1.22.17
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command "webpack" not found.
webpack入ってないんだなと思い、以下を実行しても効果なし。
rails webpacker:install
そのほか、yarnや、webpackのバージョンを4->5に上げるなど行いましたが、エラーは変わらず。
以下のアカウントで、node.js versionが16だとミスるという情報を見て、対応したところドンピシャでした。
解決法
Cloud 9上のターミナルで以下のコマンドを実行するとアップデートできます。
# node.jsのアップデート
nvm install 12.13.0
nvm use 12.13.0
# package.jsonのアップデートに必要な処理。
yarn install
yarn upgrade
# ローカルでコンパイルする時に必要なwebpacker類の再インストール
rails webpacker:install
結果的にyarnのコンパイルに成功し、herokuに無事デプロイすることができました。
この記事が気に入ったらサポートをしてみませんか?