問題
rails_adminのgemを入れると以下のようなエラーが出る
SassC::SyntaxError in RailsAdmin::Main#dashboard
Error: File to import not found or unreadable: rails_admin/src/rails_admin/styles/base.
on line 2:1 of app/assets/stylesheets/rails_admin.scss
>> @import "rails_admin/src/rails_admin/styles/base";
環境
- Ruby3.2.2
- Ruby on Rails 7.0.2
- dockerなし
予想
予想としては以下の問題があると考えた
- 7系統からnodeが確か不要になった気がしたため、それが原因か?
→ログを見るとnode,yarnがないよと言われた。 - コンパイルできていない
→このためだけにコンパイルに関するエラーが出るのか? -
@importがうまくできていない
→該当部分を削除するとレイアウトなしで表示できる
取り組み
- node、yarnをhomebrewからインストール
- compileを再度行う
- package.jsonを編集
結果
恐らく3番が原因だった。
package.jsonを以下のように書き換え
変更前
{
"scripts": {
"build:css": "sass ./app/assets/stylesheets/rails_admin.scss:./app/assets/builds/rails_admin.css --no-source-map --load-path=node_modules"
}
}
変更後
{
"scripts": {
"build:css": "sass ./app/assets/stylesheets/application.sass.scss:./app/assets/builds/application.css ./app/assets/stylesheets/rails_admin.scss:./app/assets/builds/rails_admin.css --no-source-map --load-path=node_modules"
},
"dependencies": {
"rails_admin": "3.1.2",
"sass": "^1.66.1"
}
}
以上の変更を加えた結果、正常に動作を確認した。
補足
公式ドキュメントではGemfileに記載する際に
gitのコードのリンクを貼ったらうまくいったという報告があったが
自分は特に変化なし。
そもそもrails_adminがお作法多すぎる気がする。