SASS — это крутой препроцессор. Fedora — крутой дистрибутив. И сейчас я расскажу, как установить SASS в Fedora (на момент написания статьи я использую Fedora 23).
Собственно, процесс установки практически одинаков для большинства популярных дистрибутивов и различие лишь в том, какой менеджер пакетов используется.
Для установки достаточно из-под root установить пакет rubygems.
# dnf install rubygems
Далее проверяем, установлен ли SASS.
$ sass -v
У меня вывод следующий:
Sass 3.4.4 (Selective Steve)
Решение проблем
Правда, когда я попытался скомпилировать стили, я столкнулся с некоторыми ошибками. Вот, что я пытался сделать:
$ sass --watch ./sass/main.scss:./css/main.min.css
Вообще, если не использовать аргумент --watch, то всё проходит нормально, но гораздо удобнее, когда SASS сам отслеживает изменения в исходниках стилей.
Выхлоп терминала следующий:
>>> Sass is watching for changes. Press Ctrl-C to stop.
LoadError: cannot load such file -- rb-inotify
Use --trace for backtrace.
Тогда я попробовал установить rb-inotify:
# gem install rb-inotify
Но звёзды сошлись не в мою пользу.
Fetching: ffi-1.9.14.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing rb-inotify:
ERROR: Failed to build gem native extension.
/usr/bin/ruby -r ./siteconf20161228-14750-os9ote.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/share/include/ruby.h
extconf failed, exit code 1
Gem files will remain installed in /usr/local/share/gems/gems/ffi-1.9.14 for inspection.
Results logged to /usr/local/lib64/gems/ruby/ffi-1.9.14/gem_make.out
Устанавливаем ещё немного:
# dnf install ruby-devel
Повторяем попытку установки rb-inotify:
# gem install rb-inotify
Так, попробуем ещё раз скомпилировать стили.
$ sass --watch ./sass/main.scss:./css/main.min.css
Не в этот раз.
>>> Sass is watching for changes. Press Ctrl-C to stop.
NoMethodError: undefined method `join' for nil:NilClass
Use --trace for backtrace.
Ладно, ещё чуть-чуть. Или обновляю sass или иду спать.
# gem update sass
Updating installed gems
Updating sass
Fetching: sass-3.4.23.gem (100%)
Successfully installed sass-3.4.23
Parsing documentation for sass-3.4.23
Installing ri documentation for sass-3.4.23
Installing darkfish documentation for sass-3.4.23
Done installing documentation for sass after 10 seconds
Parsing documentation for sass-3.4.23
Done installing documentation for sass after 5 seconds
Gems updated: sass
Ну?
$ sass --watch ./sass/main.scss:./css/main.min.css
>>> Sass is watching for changes. Press Ctrl-C to stop.
Ура, теперь SASS следит за изменениями файлов и успешно компилирует стили.
Сначала я думал, что для статьи достаточно пары команд, но когда обнаружил, что на этой системе у меня не установлен SASS, а для его запуска пришлось немного погуглить, то статья вылилась в небольшой Troubleshooting. Но, надеюсь, сей набор команд будет кому-нибудь полезен.