Проблемы использования twitter bootstrap в Ruby on Rails на Windows

Пишем сайт. На Ruby on Rails. Хотим простого и красивого интерфейса из коробки и решаем использовать Twitter Bootstrap. И случилось такое дело, что разрабатываем мы в Windows. Конечно разрабатывать ruby-приложения на Windows - не лучшая идея, однако порой — вынужденная мера (например, под рукой у вас есть только виндовый компьютер или вы попали в команду "специфических" разработчиков).

Для подключения twitter bootstrap eсть 2 наиболее популярных гема - twitter-bootstrap-rails и bootsrap-sass. Разберем сложности, которые мы можем встретить при их использовании.

Если вы решили воспользоваться гемом twitter-bootstrap-rails, то скорее всего у вас этого не выйдет под виндой. Даже не смотря на то, что в последней версии они убрали зависимость от гема therubyracer, компиляция less потребует гемов less и less-rails, которые требуют установки гема therubyracer, а он в свою очередь нормально на винде не ставится (есть конечно некоторые варианты, но если у вас мульти-платформенная разработка, то лучше забить).

Окей, скажем мы забиваем на гем twitter-bootstrap-rails. А зачем нам было его вообще использовать? Ну, например, потому, что там есть клевые бутстреповские генераторы, которые скаффолдят лейауты сразу в твиттер-бутстрепповском стиле + еще flash_block_helper есть - тоже удобная штука, хотя его можно легко копи-пастнуть к себе в хелперы. Желание использовать данный гем в свое время даже послужило одной из причин для переезда с Windows на Ubuntu (впрочем, впоследствии я таки сменил гем на bootstrap-sass).

Пойдем дальше. Коли уж руби-коммьюнити сидит на sass - будем ставить гем bootstrap-sass. Поставили. Good. А если, допустим, у вас ruby стоит на диске C, а проекты на диске D. У любого нормального программиста система должна стоять отдельно от данных. Forgive me if you are not a normal developer.

И wtf? мы опять получаем ошибку: different prefix: "C:/" and "D:/... Черт! Тут оказывается какой-то баг то ли в рельсах, то ли где... Странно, что он зарезолвлен, когда нифига так и не пашет.

В прочем, судя по комментарию в баг-репорте boostrap-sass, решается эта штука довольно просто — ставим гемы бандлером в папку .bundle

bundle install --path .bundle

И все замечательно работает.

Сделать вывод из вышеописанного можно следующий: если вы хотите разрабатывать на ruby, то используйте Unix-like системы. И хотя на Windows все тоже более менее работает - вы огребёте много косяков по мелочам. Good luck.