質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

解決済

本番環境で、manifest.jsonが作成されないです

mansan
mansan

総合スコア11

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

1回答

0評価

0クリップ

3200閲覧

投稿2021/07/16 14:09

編集2021/07/16 16:24

前提・実現したいこと

render.comにrailsアプリをデプロイしようとしています。
デプロイ後に、railsアプリを開くと、エラーが起きます。

発生している問題・エラーメッセージ

アプリを開くと以下のようなエラーになります。

bash

ActionView::Template::Error (Webpacker can't find application in /opt/render/project/src/public/packs/manifest.json. Possible causes: Jul 16 09:31:50 PM 1. You want to set webpacker.yml value of compile to true for your environment Jul 16 09:31:50 PM unless you are using the `webpack -w` or the webpack-dev-server. Jul 16 09:31:50 PM 2. webpack has not yet re-run to reflect updates. Jul 16 09:31:50 PM 3. You have misconfigured Webpacker's config/webpacker.yml file. Jul 16 09:31:50 PM 4. Your webpack configuration is not creating a manifest. Jul 16 09:31:50 PM Your manifest contains: Jul 16 09:31:50 PM { Jul 16 09:31:50 PM } Jul 16 09:31:50 PM ): Jul 16 09:31:50 PM [790dd098-433c-4131-a76d-1751fd3948dc] 5: <%= csrf_meta_tags %> Jul 16 09:31:50 PM [790dd098-433c-4131-a76d-1751fd3948dc] 6: <%= csp_meta_tag %> Jul 16 09:31:50 PM [790dd098-433c-4131-a76d-1751fd3948dc] 7: Jul 16 09:31:50 PM [790dd098-433c-4131-a76d-1751fd3948dc] 8: <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %> Jul 16 09:31:50 PM [790dd098-433c-4131-a76d-1751fd3948dc] 9: <%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> Jul 16 09:31:50 PM [790dd098-433c-4131-a76d-1751fd3948dc] 10: <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> Jul 16 09:31:50 PM [790dd098-433c-4131-a76d-1751fd3948dc] 11: <meta name="viewport" content="width=device-width,initial-scale=1.0"> Jul 16 09:31:50 PM [790dd098-433c-4131-a76d-1751fd3948dc] Jul 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

Rails.application.configure do #略 # Disable serving static files from the `/public` folder by default since # Apache or NGINX already handles this. config.public_file_server.enabled = true # Compress CSS using a preprocessor. # config.assets.css_compressor = :sass # Do not fallback to assets pipeline if a precompiled asset is missed. config.assets.compile = true #略 end

config/webpacker.ymlを修正

yml

# Note: You must restart bin/webpack-dev-server for changes to take effect default: &default source_path: app/javascript source_entry_path: packs public_root_path: public public_output_path: packs cache_path: tmp/cache/webpacker check_yarn_integrity: false webpack_compile_output: true # Additional paths webpack should lookup modules # ['app/assets', 'engine/foo/app/assets'] resolved_paths: [] # Reload manifest.json on all requests so we reload latest compiled packs cache_manifest: false # Extract and emit a css file extract_css: false static_assets_extensions: - .jpg - .jpeg - .png - .gif - .tiff - .ico - .svg - .eot - .otf - .ttf - .woff - .woff2 extensions: - .mjs - .js - .sass - .scss - .css - .module.sass - .module.scss - .module.css - .png - .svg - .gif - .jpeg - .jpg production: <<: *default # Production depends on precompilation of packs prior to booting for performance. compile: true # Extract and emit a css file extract_css: true # Cache manifest.json for performance cache_manifest: true

補足情報(FW/ツールのバージョンなど)

bundle exec rails webpacker:install 実行時のログに気になるエラーがありました。

bash

[3/4] Linking dependencies... warning " > webpack-dev-server@3.11.2" has unmet peer dependency "webpack@^4.0.0 || ^5.0.0". warning "webpack-dev-server > webpack-dev-middleware@3.7.3" has unmet peer dependency "webpack@^4.0.0 || ^5.0.0". [4/4] Building fresh packages... [-/3] ⠐ waiting... [-/3] ⠈ waiting... error /opt/render/project/src/node_modules/node-sass: Command failed. Exit code: 137 Command: node scripts/install.js Arguments: Directory: /opt/render/project/src/node_modules/node-sass Output:

続けて、bundle exec rails webpacker:compileを実行した際のエラーになります。

bash

ERROR in ./app/javascript/scss/application.scss Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js): ModuleBuildError: Module build failed (from ./node_modules/sass-loader/dist/cjs.js): Error: Missing binding /opt/render/project/src/node_modules/node-sass/vendor/linux-x64-83/binding.node Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 14.x This usually happens because your environment has changed since running `npm install`. Run `npm rebuild node-sass` to download the binding for your current environment.

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。