前提・実現したいこと
render.comにrailsアプリをデプロイしようとしています。
デプロイ後に、railsアプリを開くと、エラーが起きます。
発生している問題・エラーメッセージ
アプリを開くと以下のようなエラーになります。
bash
1ActionView::Template::Error (Webpacker can't find application in /opt/render/project/src/public/packs/manifest.json. Possible causes: 2Jul 16 09:31:50 PM 1. You want to set webpacker.yml value of compile to true for your environment 3Jul 16 09:31:50 PM unless you are using the `webpack -w` or the webpack-dev-server. 4Jul 16 09:31:50 PM 2. webpack has not yet re-run to reflect updates. 5Jul 16 09:31:50 PM 3. You have misconfigured Webpacker's config/webpacker.yml file. 6Jul 16 09:31:50 PM 4. Your webpack configuration is not creating a manifest. 7Jul 16 09:31:50 PM Your manifest contains: 8Jul 16 09:31:50 PM { 9Jul 16 09:31:50 PM } 10Jul 16 09:31:50 PM ): 11Jul 16 09:31:50 PM [790dd098-433c-4131-a76d-1751fd3948dc] 5: <%= csrf_meta_tags %> 12Jul 16 09:31:50 PM [790dd098-433c-4131-a76d-1751fd3948dc] 6: <%= csp_meta_tag %> 13Jul 16 09:31:50 PM [790dd098-433c-4131-a76d-1751fd3948dc] 7: 14Jul 16 09:31:50 PM [790dd098-433c-4131-a76d-1751fd3948dc] 8: <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %> 15Jul 16 09:31:50 PM [790dd098-433c-4131-a76d-1751fd3948dc] 9: <%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> 16Jul 16 09:31:50 PM [790dd098-433c-4131-a76d-1751fd3948dc] 10: <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> 17Jul 16 09:31:50 PM [790dd098-433c-4131-a76d-1751fd3948dc] 11: <meta name="viewport" content="width=device-width,initial-scale=1.0"> 18Jul 16 09:31:50 PM [790dd098-433c-4131-a76d-1751fd3948dc] 19Jul 16 09:31:50 PM [790dd098-433c-4131-a76d-1751fd3948dc] app/views/layouts/application.html.erb:8
試したこと
bundle exec rails assets:precompile
後に、public
フォルダ内にassets
フォルダは作成されるのですが、manifest.json
の配置場所であるpacks
フォルダが作成されていないことが分かりました。
何回もデプロイを繰り返したり、bundle exec rails assets:precompile
を実行すると、まれに/packs/manifest.json
が作成されてrailsアプリが正常に動きます。
ですが、その後に、デプロイをしたりサーバーが再起動されると、/packs/manifest.json
が消えてしまいます。
その度同じエラーを繰り返し起こしてしまいます。
manifest.jsonが作成されるとアプリが正常に動きますが、なぜ作成されないのか原因が分からずにいます。
宜しくお願いします。m(_ _)m
関係している箇所で、変更をしたファイルを追記します。
config/environments/production.rbを修正
rails
1Rails.application.configure do 2 3 #略 4 5 # Disable serving static files from the `/public` folder by default since 6 # Apache or NGINX already handles this. 7 config.public_file_server.enabled = true 8 9 # Compress CSS using a preprocessor. 10 # config.assets.css_compressor = :sass 11 12 # Do not fallback to assets pipeline if a precompiled asset is missed. 13 config.assets.compile = true 14 15 #略 16 17end 18
config/webpacker.ymlを修正
yml
1# Note: You must restart bin/webpack-dev-server for changes to take effect 2 3default: &default 4 source_path: app/javascript 5 source_entry_path: packs 6 public_root_path: public 7 public_output_path: packs 8 cache_path: tmp/cache/webpacker 9 check_yarn_integrity: false 10 webpack_compile_output: true 11 12 # Additional paths webpack should lookup modules 13 # ['app/assets', 'engine/foo/app/assets'] 14 resolved_paths: [] 15 16 # Reload manifest.json on all requests so we reload latest compiled packs 17 cache_manifest: false 18 19 # Extract and emit a css file 20 extract_css: false 21 22 static_assets_extensions: 23 - .jpg 24 - .jpeg 25 - .png 26 - .gif 27 - .tiff 28 - .ico 29 - .svg 30 - .eot 31 - .otf 32 - .ttf 33 - .woff 34 - .woff2 35 36 extensions: 37 - .mjs 38 - .js 39 - .sass 40 - .scss 41 - .css 42 - .module.sass 43 - .module.scss 44 - .module.css 45 - .png 46 - .svg 47 - .gif 48 - .jpeg 49 - .jpg 50 51production: 52 <<: *default 53 54 # Production depends on precompilation of packs prior to booting for performance. 55 compile: true 56 57 # Extract and emit a css file 58 extract_css: true 59 60 # Cache manifest.json for performance 61 cache_manifest: true 62
補足情報(FW/ツールのバージョンなど)
bundle exec rails webpacker:install 実行時のログに気になるエラーがありました。
bash
1[3/4] Linking dependencies... 2warning " > webpack-dev-server@3.11.2" has unmet peer dependency "webpack@^4.0.0 || ^5.0.0". 3warning "webpack-dev-server > webpack-dev-middleware@3.7.3" has unmet peer dependency "webpack@^4.0.0 || ^5.0.0". 4[4/4] Building fresh packages... 5[-/3] ⠐ waiting... 6[-/3] ⠈ waiting... 7error /opt/render/project/src/node_modules/node-sass: Command failed. 8Exit code: 137 9Command: node scripts/install.js 10Arguments: 11Directory: /opt/render/project/src/node_modules/node-sass 12Output:
続けて、bundle exec rails webpacker:compileを実行した際のエラーになります。
bash
1ERROR in ./app/javascript/scss/application.scss 2Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js): 3ModuleBuildError: Module build failed (from ./node_modules/sass-loader/dist/cjs.js): 4Error: Missing binding /opt/render/project/src/node_modules/node-sass/vendor/linux-x64-83/binding.node 5Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 14.x 6 7 8This usually happens because your environment has changed since running `npm install`. 9Run `npm rebuild node-sass` to download the binding for your current environment.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。