Railsで「The asset “application.js” is not present in the asset pipeline.」が起きた時の調整方法
Railsでアプリケーションを作って、
そのアプリケーションを作っていく中で、
レイアウトのデザイン部分は、
CSSフレームワークを使って、
楽をしたいと考えて、
環境を構築することがあります。
そんな中で、
- アプリケーションFWとしてRails
- CSSフレームワークとしてBootstrap
という構成で、
プロジェクトの作成から、
実際にBootstrapを導入する部分などを、
こちらの記事で試したことをメモしておきました。
今回の事象は、
上記などを試す中で、
Railsのバージョンにもよりますが、
画面上のエラー表示として、
Sprockets::Rails::Helper::AssetNotFound
が起きており、
その中のメッセージとして、
The asset "application.js" is not present in the asset pipeline.
という問題が起きており、
この点について対応したことを、
この記事にメモしておきます。
Rubyのバージョン
まずは、
試した時のRubyのバージョンですが、
コマンドで確認します。
ruby -v
のコマンドを実行して確認すると、
$ ruby -v
ruby 3.0.4p208 (2022-04-12 revision 3fa771dded) [arm64-darwin21]
このバージョンであることが確認できました。
Railsのバージョン
Railsに関しては、
プロジェクト導入時に最新を取得したので、
その結果としてのRailsのバージョンですが、
コマンドで確認します。
rails -v
のコマンドを実行して確認すると、
$ rails -v
Rails 7.0.4.2
このバージョンで作成されていました。
起きた事象
先ほどのバージョンにも関わりますが、
Railsのバージョン7で試しています。
今回起きたエラーメッセージとしては、
The asset "application.js" is not present in the asset pipeline.
ですが、
The asset "application.css" is not present in the asset pipeline.
のように、
同じようなアセットファイルのエラーであれば、
今回の対応で問題がなくなることがあるので、
試してみてもらえればと思います。
対象方法
Railsでのアセット自体は、
バージョンにもよりますが、
自分が試していたバージョンでは、
- アセットファイルとしてコンパイルして作成される
- コンパイルされたファイルを参照する
となっています。
この参照するためのファイルが見つからないことが問題なので、
再度、
Railsのコマンドを使って、
再コンパイルしてあげます。
コマンドは、
rails assets:precompile
で再コンパイルできるので、
こちらを実行した上で、
rails s
を実行すると、
問題なくレイアウトが表示されました。
こちらでうまくいかなければ、
別の問題が考えられますが、
アセット周りの状況を、
1つずつ、確認していきましょう。
就職/転職に向けてスキルを高めるために
プログラミングのスキルを高めるために、
以下のサイトを参考にしてみてください。
おすすめ書籍
コメント一覧
コメントはまだありません。
コメントを残す