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つずつ、確認していきましょう。
スキルを使って、就職/転職/副業する時のサイト
プログラミングのスキルなどを、自分なりに高めた上で、
自分のスキルをアピールして就職や転職を行い、年収をあげるか、
副業という形で、年収にプラスアルファの稼ぎを増やすことはできます。
まずはできる範囲で取り組むことで、
少しずつ、経験値も増え、自分のスキルが収入につながるのでおすすめです。