Rails6 エラー「lib/sprockets/base.rb:100:in `find_all_linked_assets’」が発生した場合の対処法

Rails6 エラー「lib/sprockets/base.rb:100:in `find_all_linked_assets’」が発生した場合の対処法

Rails6でエラー「lib/sprockets/base.rb:100:in `find_all_linked_assets’」が発生した場合の対処法を記述してます。

環境

  • OS windows10 pro 64bit
  • ruby 2.7.1
  • rails 6.0.3.2

※windows10にrubyをインストールして実行する手順はこちら
※windows10にRuby on Railsをインストールして利用する手順はこちら

エラー全文

Sprocketsでエラーが発生。

Sprockets::DoubleLinkError in xxxxx#xxxxx

Multiple files with the same output path cannot be linked ("application.css")
In "C:/rails_sample/app/assets/config/manifest.js" these files were linked:
  - C:/rails_sample/app/assets/stylesheets/application.css
  - C:/rails_sample/app/assets/stylesheets/application.scss

        last_filename = linked_paths[asset.logical_path]
        if last_filename && last_filename != asset.filename
          raise DoubleLinkError.new(
            parent_filename: parent_asset.filename,
            last_filename:   last_filename,
            logical_path:    asset.logical_path,

対処法

sprocketsのバージョンによる問題なようなで、バージョンを下げる。

「Gemfile」に下記を追加します。

gem 'sprockets', '~> 3.7.2'

アップデートします。

bundle update sprockets

これでエラーは解消されました。