Update Sass do wersji Brainy Betty na Ubuntu 11.04

10 July 2011

Od czasu napisania poniższego artykułu wydanych zostało wiele nowych wersji Ubuntu oraz Sass, dlatego poniższa instrukcja aktualizacji Sass nie jest już aktualna.

Sass to jedno z moich ulubionych narzędzi programistycznych. Jest to preprocesor styli CSS. Umożliwia on pisanie ich w przyjemny, zautomatyzowany sposób. Tworząc style w Sass używamy czytelniejszej składni (podobnej do YAML) lub zgodnej z CSS. Możemy w nich używać funkcji wzbogacających możliwości CSS. Sass umożliwia m.in.:

  • definiowanie zmiennych (nigdy więcej powtarzania tej samej wartości w 100 różnych miejscach!)
  • operacje matematyczne (dynamiczne obliczanie rozmiarów!)
  • operacje na kolorach (rozjaśnianie, przyciemnianie, konwersja)
  • wygodne dołączanie często powtarzanych fragmentów kodu (mixins)
  • wyrażenia warunkowe, pętle i wiele innych...

Obecnie aktualna wersja Sass 3.1.3 zawiera świetną nową funkcjonalność - możliwość definiowania własnych funkcji (nowa dyrektywa: @Function). Nie należy mylić własnych funkcji z mixin'ami - które obecne byłby w Sass od początku. Wersja, którą miałem dotychczas w systemie to Haml/Sass 3.0.15 (Classy Cassidy) i nie znalazłem w repozytoriach Ubuntu nowszego pakietu. Dotychczasowy pakiet zawierajacy sass i haml nazywa się libhamlruby1.8. Można jednak zainstalować nowszą wersje, postępując zgodnie z instrukcją, zawartą na blogu autora Sass. Używamy do tego celu polecenia gem. Czym jest gem? Cytując manual (w terminalu: man gem):

gem1.8 is the front end to RubyGems, a sophisticated package manager for Ruby.

Aby móc skorzystać z niego należy zainstalować pakiet rubygems1.8:

sudo apt-get install rubygems1.8 sudo gem install hamlsudo gem install sass

Problem w tym, że oba nowe pakiety haml i sass instalują się równolegle do ubuntowych, we własnej lokalizacji (u mnie: /var/lib/gems/1.8/bin). Dlatego mimo, że mamy nową wersję, w terminalu domyślnie zgłasza się poprzednia:

sass -v  Haml/Sass 3.0.15 (Classy Cassidy)

Najprostrzym rozwiązaniem, jakie napotkałem jest dodanie ścieżki z aktualnymi wersjami haml i sass do zmiennej PATH w pliku /etc/environment. Aby to zadziałało należy jednak dodać ścieżkę na początku listy - przed tą która zawiera dotychczasową wersję sass (u mnie: /usr/bin).

sudo gedit /etc/environment

Dodajemy ścieżkę na początku listy:

PATH="/var/lib/gems/1.8/bin:/usr/local/sbin:/usr...

Teraz należy się wylogować i zalogować ponownie lub ponownie uruchomić komputer. Następnie gdy wydamy polecenie sass -v powinniśmy zobaczyć:

sass -v  Sass 3.1.4 (Brainy Betty)