Добрый день. Я занимаюсь web-разработкой и почти всем, что с этим связано.

Установка SASS в Fedora

SASS — это крутой препроцессор. Fedora — крутой дистрибутив. И сейчас я расскажу, как установить SASS в Fedora (на момент написания статьи я использую Fedora 23).

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

SASS and Fedora

Для установки достаточно из-под 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. Но, надеюсь, сей набор команд будет кому-нибудь полезен.

Комментарии