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

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

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

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

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

0回答

1568閲覧

rails assets:precompile RAILS_ENV=production 実行時のSprockets::FileNotFoundについて

shimaison93

総合スコア0

Ruby on Rails

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

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

0グッド

0クリップ

投稿2021/07/04 07:42

実現したいこと

不慣れなため、不足情報があればお申し付けください。
Ruby on Rails で作成したWebアプリをAWSのEC2にデプロイしようとしています。

rails assets:precompile RAILS_ENV=production をターミナルで叩いたところ、amin-lte関連のjsでSprockets::FileNotFoundというエラーが出ており、実行ができない状況です。

admin-lte/plugins/bootstrap/js/bootstrap.bundle.min に原因があるということはわかり色々と調べてみたところ、
事象を改善することができないため、どこを確認・修正すべきかアドバイス頂けますでしょうか?
また、私の仮設は検討外れでしょうか?

前提

・ OS: Mac OS Big Sur 11.4
・ ターミナル(EC2内)
・ データベース :unicorn v5.4.1
・ ruby -v :2.6.6
・ bundler -v :2.2.0
・ yarn -v :1.22.5

ローカルのdevelopment環境では問題なく、rails s でき、正常に動作することを確認済みです。

エラーメッセージ

rails aborted! Sprockets::FileNotFound: couldn't find file 'admin-lte/plugins/bootstrap/js/bootstrap.bundle.min' with type 'application/javascript' Checked in these paths: /var/www/rails/app_name/app/assets/config /var/www/rails/app_name/app/assets/images /var/www/rails/app_name/app/assets/javascripts /var/www/rails/app_name/app/assets/stylesheets /home/User/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/jquery-rails-4.4.0/vendor/assets/javascripts /home/User/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/actioncable-6.0.3.6/app/assets/javascripts /home/User/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/activestorage-6.0.3.6/app/assets/javascripts /home/User/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/actionview-6.0.3.6/lib/assets/compiled /home/User/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/turbolinks-source-5.2.0/lib/assets/javascripts /var/www/rails/app_name/lib/assets/bower_components /var/www/rails/app_name/vendor/assets/bower_components /var/www/rails/app_name/node_modules /home/User/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/popper_js-1.16.0/assets/javascripts /home/User/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/bootstrap-4.6.0/assets/stylesheets /home/User/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/bootstrap-4.6.0/assets/javascripts /home/User/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/bootstrap-4.6.0/assets/stylesheets /home/User/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/bootstrap-4.6.0/assets/javascripts /home/User/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/bootstrap-4.6.0/assets/fonts /home/User/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/bootstrap-4.6.0/assets/images /home/User/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/font-awesome-sass-5.15.1/assets/stylesheets /home/User/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/font-awesome-sass-5.15.1/assets/fonts /var/www/rails/app_name/app/assets/javascripts/admin.js:3

該当のソースコード

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]
Gemfile
ruby '2.6.6' gem 'rails', '~> 6.0.3', '>= 6.0.3.4' gem 'rails_best_practices', '~> 1.20' gem 'mysql2', '>= 0.4.4' gem 'puma', '~> 4.1' gem 'sass-rails', '>= 6' gem 'webpacker' gem 'turbolinks', '~> 5' <省略> gem 'bootsnap', '>= 1.4.2', require: false gem 'bootstrap', '~> 4.6' gem 'bootstrap-sass' gem 'bower-rails', '~> 0.12.0' gem 'jquery-rails', '~> 4.4' gem 'font-awesome-sass', '~> 5.15', '>= 5.15.1' <省略> # Admin画面 gem 'cancancan', '~> 3.2', '>= 3.2.1' gem 'enum_help', '~> 0.0.17' gem 'pundit', '~> 2.1' <省略>
application.js
//= require jquery3 //= require popper //= require bootstrap-sprockets //= require rails-ujs //= require activestorage //= require bootstrap //= require cable.js
admin.js
//= require jquery3 //= require rails-ujs //= require admin-lte/plugins/bootstrap/js/bootstrap.bundle.min //= require admin-lte/dist/js/adminlte
admin.scss
@import 'admin-lte/plugins/fontawesome-free/css/all.min.css'; @import 'admin-lte/dist/css/adminlte.css';

仮設

FileNotFoundはbootstrap.bundle.minというファイルが文字通り存在しないのでエラーが出ている?
だとすれば、空のファイルを作成しておけば良いということでしょうか?

試したこと

admin-lte/plugins/bootstrap/js/bootstrap.bundle.minの記述を assets/javascripts/admin.jsから削除してrails assets:precompile RAILS_ENV=productionしたところ、以下のエラー文言に変わりましたが、該当のファイルを確認しましたがタイポなどは見当たりませんでした。

SassC::SyntaxError: Error: File to import not found or unreadable: bootstrap-sprockets. on line 3:1 of app/assets/stylesheets/application.scss >> @import 'bootstrap-sprockets';

Railsガイド_アセットパイプライン

よろしくお願い致します。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問