Ошибка прекомпиляции Rails в CSS - PullRequest
8 голосов
/ 28 марта 2012
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 ]

14 голосов
/ 29 марта 2012

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

3 голосов
/ 12 февраля 2015

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

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

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

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

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

2 голосов
/ 30 декабря 2013

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

.someclass{
  property: value;
}}
1 голос
/ 01 ноября 2013

Мне не хватало точки с запятой.Мой был остановлен в конце строки, объявляющей "$ greyMediumLight".Может быть, это спасет кого-то от 30 минут, которые я потратил.

0 голосов
/ 23 января 2015

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

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

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

...