obshtestvo / gradame-meanjs

http://www.grada.me
Other
4 stars 1 forks source link

sass compilator dependencies #16

Open alex-milanov opened 10 years ago

alex-milanov commented 10 years ago

В момента за grunt таск-а sass се използва sass компилатора на ruby. Следователно за да се компилира css-a трбява да се инсталира чрез gem install sass. Ако rubygems липсва трябва да се инсталира със sudo apt-get install rubygems

Малко е too much. Алтернативи?

antitoxic commented 10 years ago

следното е препоръчителния начин да се инсталира ruby и gem-овете за него. написано за zsh, но с малки корекции става и просто за bash.

# ruby
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
source $HOME/.zshrc
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
rbenv install 2.1.1
rbenv global 2.1.1

# sass as CSS precompiler
gem install sass
gem install compass --pre

От https://github.com/obshtestvo/obshtestvo.bg/blob/master/server/bootstrap_vagrant.sh

Разгледай го за още детайли.

alex-milanov commented 10 years ago

Искаше ми се проекта да не зависи от компоненти на други езици, в случая ruby, но за момента явно няма алтернатива.

antitoxic commented 10 years ago

А инсталацията на sass в момента има ли я в setup-а обяснена?

Има и една библиотека libsass на C++ но не е много Uptodate

alex-milanov commented 10 years ago

За инсталацията на sass е пуснат конкретния issue за да я обсъдим и намерим най-доброто решение. При release-a естествено че ще има подробно инфо за setup. За момента се действа според приоритета и капацитета. Иначе вместо да задаваш отговори можеше да добавиш инсталацията на sass към bootstrap-a на vagrant и бележка към Readme-то.

antitoxic commented 10 years ago

Сашо, не редактирам кода, понеже това тук го разбирам като дискусия, може би ти, или някой друг има по-добра идея. Не те разбирам. Нали тук просто говорим как да го направим?

2014-09-27 19:30 GMT+03:00 alex-milanov notifications@github.com:

За инсталацията на sass е пуснат конкретния issue за да я обсъдим и намерим най-доброто решение. При release-a естествено че ще има подробно инфо за setup. За момента се действа според приоритета и капацитета. Иначе вместо да задаваш отговори можеше да добавиш инсталацията на sass към bootstrap-a на vagrant и бележка към Readme-то.

— Reply to this email directly or view it on GitHub https://github.com/obshtestvo/gradame-meanjs/issues/16#issuecomment-57057897 .

alex-milanov commented 10 years ago

update: добавих кода, който предложи във vagrant + бележка в Readme-то

antitoxic commented 10 years ago

(y) не съм го тествал за жалост. просто помня отчасти че това ми е помогнало като ориентир. Може би митьо или други рубисти имат по-добра представа.

On 27 September 2014 20:40, alex-milanov notifications@github.com wrote:

update: добавих кода, който предложи във vagrant + бележка в Readme-то

— Reply to this email directly or view it on GitHub https://github.com/obshtestvo/gradame-meanjs/issues/16#issuecomment-57060038 .

alex-milanov commented 10 years ago

//cc @mitio

mitio commented 10 years ago

Кодът, предложен от Тони, е добър вариант. Аз бих препоръчал същата схема във Vagrant или на вашите локални машини.

От друга страна, ако някой има вече инсталирано Ruby 1.9 или по-ново, може би няма нужда от инсталация на друга версия. Проверява се с ruby -v.

Rubygems е част от Ruby, не върви отделно. Ако имате Ruby, но нямате gem, или нещо ви е счупено на инсталацията, или е някаква мега странна.

Ще има нужда само от gem install sass и gem install compass --pre. Би трябвало да е окей за целите на проекта. Това инсталира gem-овете глобално и може да иска sudo. Добре е да се тества, ако е във Vagrant.

Най-стабилният подход е да се ползва Bundler:

  1. В проекта се слага Gemfile и в него се пише следното:

    source 'https://rubygems.org' gem 'sass' gem 'compass'

  2. Изпълнява се bundle install.
  3. Горната команда създава файл Gemfile.lock. Той се добавя във version control, заедно с Gemfile.
  4. Когато пускате gem, не го пускате със sass нещоси, а пускате bundle exec sass нещоси. Това гарантира, че ще се зареди и ползва версията, записана в Gemfile.lock, дори и да имате инсталирани други, по-нови/по-стари.

При всяка промяна на Gemfile, повтаряте през 2 и 3. Това би трябвало да е рядко.

От страна на ползвателя:

  1. Трябва да има Ruby, да кажем, 1.9.х. Може да е системно, може и да се инсталира по предложения от Тони начин.
  2. Трябва да има bundler. Може и да го има вече. Ако не: gem install bundler :) Кой инсталира package manager-а? :)
  3. Като сетъп на проекта се пуска bundle install и готово.

От Bundler има смисъл, ако ви е важно с коя версия на gem работите и ако инсталирате повече от един-два gem-а. В този use case като че ли е малко overkill и няма да е нужно.

alex-milanov commented 10 years ago

:+1: