Узнайте, какая версия Sass Compass используется из командной строки

К сожалению, мне нужно установить две версии Compass (1.0.3, 0.12.2) и две версии Sass (3.4.21, 3.2.19) на моем компьютере - у меня есть более новый и более старый проект, который требует от меня наличия этих установлены две версии. Недавно мне дали более старый проект, поэтому я только сейчас установил эти старые версии.

Я использую "часы компаса" для компиляции, и, хотя оба они компилируются нормально, я думаю, что новый Compass (1.0.3) использует старый Sass (3.2.19) для нового проекта. Теперь, когда я пытаюсь скомпилировать свой новый проект, он создает огромную разницу, если я изменяю одну строку (#fff вместо "white", все комментарии к номерам строк были немного изменены, и тому подобное).

Есть ли способ узнать, какую версию использует Compass, и, кроме того, могу ли я настроить его на использование определенной версии, не удаляя каждый раз Sass?


person Sean Beck    schedule 09.03.2016    source источник
comment
Compass 1.x будет использовать только Sass 3.3 или новее, Compass 0.12 будет использовать только Sass 3.2 и старше. Compass 1.x не будет компилироваться с Sass 3.2. Обратите внимание, что это одна из многих причин, по которым рекомендуется не помещать скомпилированные результаты в свое репо. Если у вас нет зависимости, которая конкретно требует более старой версии, будет использоваться самая новая версия ваших драгоценных камней.   -  person cimmanon    schedule 10.03.2016
comment
Мы на Acquia, поэтому компиляция Sass на сервере невозможна. Спасибо за информацию.   -  person Sean Beck    schedule 10.03.2016
comment
Никто ничего не сказал о компиляции на производственном сервере. Просто не рекомендуется хранить скомпилированные результаты в своем репо (вы ведь не храните скомпилированный исполняемый файл в своем репо?)   -  person cimmanon    schedule 10.03.2016
comment
С Acquia вы отправляете свой код на рабочий сервер с помощью Git, я не вижу способа обойти это.   -  person Sean Beck    schedule 10.03.2016
comment
Чтобы контролировать, какую версию Compass вы хотите запустить, вам подойдет следующий вопрос: stackoverflow.com/questions/4373128/. Я не знаю ни одного способа контролировать, какую версию Sass он выполняет, кроме создания расширения Compass (для которого требуется файл гема) или путем распаковки / переупаковки гема Compass после обновления его файла гема.   -  person cimmanon    schedule 10.03.2016
comment
Я только что проголосовал за ваш первый комментарий, но теперь не уверен, что он правильный. После того, как я переустановил последнюю версию Sass и использовал команду compass для запуска старой версии, она перестала правильно компилироваться. Похоже, что .0.12.2 попытается (и потерпит неудачу) использовать Sass 3.4 или новее.   -  person Sean Beck    schedule 10.03.2016
comment
Проверьте зависимости. Compass 0.12.2 явно зависит от Sass ›= 3.1 &&‹ 3.2. (см. также: stackoverflow.com/questions/4292905/)   -  person cimmanon    schedule 10.03.2016


Ответы (1)


Используйте Bundler.

Создайте Gemfile для каждого из ваших проектов.

$ gem install bundler
$ cd project && touch Gemfile

Добавить в Gemfile:

source 'https://rubygems.org'
gem 'compass', '0.12.2'

Замените на соответствующую версию.

Теперь, когда вы начинаете работать над конкретным проектом, перейдите к нему и запустите:

$ bundle install
person tribe    schedule 11.03.2016