Ошибка предварительной компиляции Rails в CSS

Invalid CSS after "}": expected selector or at-rule, was "}"
  (in /home/test/www/dispatch/app/assets/stylesheets/application.css)
(sass):364

выше ошибки-это то, что происходит в мое руководство, и я не могу найти проблему. Я попытался переименовать файл в application.css.scss и я получаю ту же ошибку с номером строки :405

дело в том, что я в тупике, что этот файл содержит только 159 строки, поэтому я не уверен, откуда этот номер строки.

Я предварительно компилирую на своей локальной машине, потому что прошлой ночью эта ошибка произошла при попытке производства миграция.

5 ответов


Если это ваше приложение.css тогда он скомпилирует весь ваш css в этот файл, поэтому есть вероятность, что проблема не в самом этом файле, а в файле, который он компилирует в него. Проверить код на отсутствие точки с запятой.


Я ненавидел эти ошибки, потому что они не предоставляют трассировку стека. Так что как только это произойдет, вы будете вынуждены проводить часы в поисках того, что запятой. Надеюсь, ребята из Rails скоро это исправят.

между тем, я нашел отличный способ обнаружить такие ошибки, передав их через ваш компилятор CSS или компрессор. В моем приложении мы используем SASS, поэтому я могу позвонить:

sass --style compressed --scss -C your_problematic_file.css

это скажет вам, есть ли какая-либо ошибка с этим файлом и номером строки. Тебе нужно бежать. это в каждом файле CSS, который может быть виновником.

в моем случае, это был лишний } вокруг медиа-запросы.


Я согласен с @Digi_Cazter. Но та же ошибка может произойти из-за размещения недопустимых скобок, таких как

.someclass{
  property: value;
}}

Я пропустил точку с запятой. Мой был оставлен в конце строки с объявлением "$ grayMediumLight". Возможно, это сэкономит кому-то 30 минут, которые я потратил.


рад, что вы нашли свою ошибку и исправили ее, но я хотел объяснить немного больше для других новичков, таких как я, которые, возможно, придется искать в другом месте для их исправления.

У меня просто была эта проблема, и для меня пример.стиль CSS.scss предварительно скомпилирован в пример.css in / public - и дополнительный"} " был добавлен в конце медиа-запроса -- in /public/example.css, хотя в /example не было ошибки.scss.в CSS

для всех, кто имеет эту проблему, сравните SCSS и CSS с чем-то вроде калейдоскопа, чтобы проверить любые синтаксические ошибки, ползущие во время вашей предварительной компиляции и устранения неполадок оттуда.