В настоящее время я пытаюсь отойти от устаревших драгоценных камней sassc
и sassc-rails
и перейти на рекомендуемую альтернативу — dartsass-rails
. При этом мне пришлось обновить свой драгоценный камень sprockets
, для которого теперь требуется файл конфигурации manifest.js
. Согласно тому, что я прочитал, файл manifest.js
должен содержать директивы ресурсов для рендеринга. Я добавил следующее в свой manifest.js
;
//= link_tree ../images
//= link_tree ../javascript .js
Как видно из вышеизложенного, я хочу, чтобы звездочки компилировали только изображения и ресурсы JavaScript. При запуске bundle exec rails assets:precompile
я получаю следующую ошибку:
LoadError: cannot load such file -- sassc (LoadError)
Насколько мне известно на данный момент, sprockets
будет пытаться скомпилировать scss/sass
файлы только тогда, когда он находится среди связанных файлов в manifest.js
файле. Я не добавлял каталог stylesheets
, поэтому не знаю, почему возникает эта ошибка. Я также попытался удалить файлы .scss
из моего каталога stylesheets
, но ошибка все еще сохраняется.
Как я могу избавиться от ошибки, а также отключить sprockets
от компиляции ресурсов в каталоге таблиц стилей, пожалуйста?
Возможно, это тоже проблема с зависимостью. Например, rails_admin
полагается на sassc-rails
Благодаря комментарию @Alex, решение заключалось в том, чтобы убедиться, что в списке scss
нет ссылок ни на один файл Rails.application.config.assets.precompile
.
В моем случае в список были дополнения из внешних библиотек. Компиляция завершилась успешно после того, как были обработаны scss
файлы, из-за которых sprockets
пришлось искать sassc
библиотеку.
проверьте
Rails.application.config.assets.precompile
. возможно, добавьтеsassc
обратно и посмотрите, что CSS все еще пытается скомпилировать.