#はじめに
RailsでCRUD処理を実装している時のことです。
いざコードを書きrails s
でサーバーを開こうとした時、いきなりエラーが発生。
初めて見たエラーコードで何故なったのか悩みましたが無事解決できたので記事にしていきます。
** 原因はかなり単純なことでした。**
##エラーコード
Sprockets::DoubleLinkError in Users#new
Sprockets::DoubleLinkError in Users#new
Showing /Users/motoki/Desktop/crud_sample/app/views/layouts/application.html.erb where line # raised:
Multiple files with the same output path cannot be linked ("users.css")
In "/Users/motoki/Desktop/crud_sample/app/assets/config/manifest.js" these files were linked:
- /Users/motoki/Desktop/crud_sample/app/assets/stylesheets/users.css
- /Users/motoki/Desktop/crud_sample/app/assets/stylesheets/users.scss
DoubleLinkError
と出ています。エラーコードを見ると5、6行目で確かにパスが被っています。
ですが何故こうなったのでしょうか。ターミナルのログを見てみるとrails g controller users
実行の際に
/Users/motoki/Desktop/crud_sample/app/assets/stylesheets/users.scss
は作成されていました。こちらは普段から自動で作成されているので、必要ない方は/Users/motoki/Desktop/crud_sample/app/assets/stylesheets/users.css
と分かりました。
こちらファイルを削除してサーバーを立ち上げると無事アクセスできました。
##解決策
/Users/motoki/Desktop/crud_sample/app/assets/stylesheets/users.css
重複してしまっていたこちらのパスのファイルを削除するだけです。
##なぜこうなったのか
初めはstylesheets
なんか触った覚えはないのに何故なったのか全然分かりませんでした。
色々と調べていくうちに、VScode に watch sass という機能があるらしいことを知り、色々と見ていると
VScode を開くと下にある青色のバーのところに watch sass と書いてあるところが!!
そこを押すとwatching...
となりcssファイルが作成されました。
いつインストールした機能なのか覚えておらず、普段使わないので知らない間に押していたみたいです。
##まとめ
Rails アプリでは使用しないそうなので皆さんもご注意ください。