実現したいこと
PostgreSQLと連携したrailsアプリを、Render.comのサーバー上にデプロイして動かしたいです。
発生している問題・分からないこと
ダッシュボード>Ruby on Railsのサービス>Setting>Build & Deploy>Build Commandでyarn installを含むと後述のエラーメッセージが発生します。bundle install && yarn installでは発生しますが、bundle installでは発生しませんでした。
初学者なのであまり詳しいことは理解せずにデプロイしています…。
エラーメッセージ
error
1==> Using Bun version 1.1.0 (default) 2==> Docs on specifying a bun version: https://render.com/docs/bun-version 3yarn install v1.22.22 4[1/4] Resolving packages... 5[2/4] Fetching packages... 6[3/4] Linking dependencies... 7error Error: EROFS: read-only file system, mkdir '/node_modules' 8info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command. 9==> Build failed 😞 10==> Common ways to troubleshoot your deploy: https://docs.render.com/troubleshooting-deploys
該当のソースコード
https://github.com/rurero2/perfume_ec/tree/production
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
環境変数にYARN_CACHE_DIR=/app/node_modulesを設定し、'bundle install && yarn install --cache-dir=${YARN_CACHE_DIR} && bundle exec rake asset:precompile' を実行
→同様のエラー
'yarn install --prefix=/app/node_modules'を実行
→同様のエラー
gitignoreからnode_modules/を削除し、root直下にnode_modulesをあらかじめ作成しておく
→同じくerror Error: EROFS: read-only file system, mkdir '/node_modules'
render-build.shにコマンドを書き込む
→同様のエラー
assets.rbのpathを変更する
https://community.render.com/t/read-only-file-system-mkdir-node-modules/20031
ruby
1Rails.application.config.assets.paths << '/node_modules' 2Rails.application.config.assets.paths << 'node_modules'
→同様のエラー
デプロイにRender.comではなくfly.ioを使用
→Github上のコードから自動でデプロイしてもらったが、yarn install時にエラーが発生
> [assets 10/10] RUN if [ "production" != "development" ]; then SECRET_KEY_BASE=dummyvalue rails assets:precompile; fi: 3.859 yarn run v1.22.22 3.890 $ ./run yarn:build 3.901 /bin/sh: 1: ./run: Permission denied 3.913 error Command failed with exit code 126. 3.913 info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. 3.926 rails aborted! 3.926 jsbundling-rails: Command build failed, ensure yarn is installed and `yarn build` runs without errors 3.926 3.926 Tasks: TOP => assets:precompile => javascript:build 3.926 (See full trace by running task with --trace) ------ Error: failed to fetch an image or build from source: error building: failed to solve: process "/bin/sh -c if [ \"${RAILS_ENV}\" != \"development\" ]; then SECRET_KEY_BASE=dummyvalue rails assets:precompile; fi" did not complete successfully: exit code: 1 unsuccessful command 'flyctl deploy --build-only --push -a perfume-ec --image-label b6d6ce3009be74c3a5fdf0e92c00837d '
補足
ローカルでのdevelopment環境のビルドには成功しています。
デプロイの参考にしたサイト
https://qiita.com/yuuki-h/items/9f594c046a6e676eb8f8
https://qiita.com/koki_73/items/60b327a586129d157f38
あなたの回答
tips
プレビュー