前提・実現したいこと
Ruby on Rails で製品レビュー投稿サイトを作っています。
ローカル環境でjavascriptを用いたレビュー投稿機能を実装完了したので、Herokuでデプロイをしようとターミナルで「git push heroku master」を実行すると以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
(エラー原因と思われる箇所を切り抜いています。)
- remote: Compilation failed:
- remote: Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
remote: - configuration.entry should be an non-empty object.
remote: -> Multiple entry bundles are created. The key is the chunk name. The value can be a string or an array.
- remote: ! Precompiling assets failed.
- remote: ! Push rejected, failed to compile Ruby app.
- ! [remote rejected] master -> master (pre-receive hook declined)
- error: failed to push some refs to 'https://git.heroku.com/●●●●●●●●●●●.git'
試したこと
調べたこと、仮説
- アセットパイプラインを整えることができるという記述「config.assets.initialize_on_precompile = false」を見つけた
- yarn updateをしたら解消するという記事を見つけた
- config/initializers/assets.rbの一番下の記述片方にする
- アセットパイプラインを無効にする「config.assets.enabled = false」という記述を見つけた
- turbolinksを無効にする
試したこと、結果
- config/application.rbのApplicationクラス内に「config.assets.initialize_on_precompile = false」を記述してデプロイしたが同じエラーが出た。
- ターミナルでyarn updateを実行し、デプロイしたが同じエラーが出た。
- config/initializers/assets.rbの一番下の(admin.js~~)と(review.js)をそれぞれ削除してデプロイしたが同じエラーが出た。
- config/application.rbのApplicationクラス内に「config.assets.enabled = false」を記述したが、デプロイすると同じエラーが出た。
- app/assets/javascript/application.jsの「//= require turbolinks」を削除
該当のソースコード
config/application.rb
require_relative 'boot' require 'rails/all' # Require the gems listed in Gemfile, including any gems # you've limited to :test, :development, or :production. Bundler.require(*Rails.groups) module Wirelessearphone36402 class Application < Rails::Application # Initialize configuration defaults for originally generated Rails version. config.load_defaults 6.0 config.i18n.default_locale = :ja # Settings in config/environments/* take precedence over those specified here. # Application configuration can go into files in config/initializers # -- all .rb files in that directory are automatically loaded after loading # the framework and any gems in your application. end end
config/initializers/assets.rb
# Be sure to restart your server when you modify this file. # Version of your assets, change this if you want to expire all your assets. Rails.application.config.assets.version = '1.0' # Add additional assets to the asset load path. # Rails.application.config.assets.paths << Emoji.images_path # Add Yarn node_modules folder to the asset load path. Rails.application.config.assets.paths << Rails.root.join('node_modules') # Precompile additional assets. # application.js, application.css, and all non-JS/CSS in the app/assets # folder are already added. Rails.application.config.assets.precompile += %w( admin.js admin.css ) Rails.application.config.assets.precompile += %w( reviews.js )
app/views/layouts/application.html.erb
<!DOCTYPE html> <html> <head> <title>Wirelessearphone36402</title> <%= csrf_meta_tags %> <%= csp_meta_tag %> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %> <%# Bootstrapの導入 %> <meta name="viewport" content="width=device-width, initial-scale=1"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1" crossorigin="anonymous"> <%# /Bootstrapの導入 %> </head> <body> <% unless controller.controller_name == 'items' && controller.action_name == 'show' %> <%= render 'shared/alert' %> <% end %> <%= render 'shared/header' %> <%= yield %> <%= render 'shared/footer' %> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW" crossorigin="anonymous"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="https://kit.fontawesome.com/d67d21c780.js" crossorigin="anonymous"></script> </body> </html>
Gemfile
略 gem 'devise' gem 'pry-rails' gem 'mini_magick' gem 'image_processing', '~> 1.2' gem 'aws-sdk-s3', require: false gem 'jquery-rails' gem 'bulma-rails'
補足情報(FW/ツールのバージョンなど)
使用ライブラリBootstrap、FontAwesome、
あなたの回答
tips
プレビュー