Говоря Bundler, исключить определенные драгоценные камни из установки определенного драгоценного камня - PullRequest
5 голосов
/ 24 февраля 2012

В gem-файле есть ли способ сообщить Bundler что-то вроде:

gem 'twitter-bootstrap-rails', :exclude therubyracer

Мне нужно установить twitter-bootstrap-rails, но он автоматически вытягивает therubyracer, поэтому bundle install завершается неудачноначальная загрузка не включена в проект, так как это машина Windows.Я установил execjs безрезультатно.

Я пытался перечислить therubyracer в процессе производства и bundle install --without production, также безрезультатно.

" therubyracer gem на windows " также является этой проблемой, но ни одно из предложений там не меняет ошибку, которую я получаю.

Мой старый поток был " Когда я выполняю «обновление пакета», я получаю ошибку от драгоценного камня, которого нет в моем гемфайле. Как мне игнорировать эту зависимость?".

1 Ответ

5 голосов
/ 24 февраля 2012

В Bundler для этого нет опций.

Таким образом, у вас остались следующие опции:

  • Не использовать twitter-bootstrap-rails.Вы можете просто скопировать скомпилированные файлы css и js в соответствующие каталоги под vendor/assets.Вы потеряете возможность изменять меньше переменных.Или вы можете использовать камень compass_twitter_bootstrap, в котором вместо sass используется sass.

  • Получите, чтобы сопровождающий камень less использовал execjs вместо commonjs и therubyracer.Вероятно, это будет означать значительный рефакторинг для сопровождающего (ых), если это вообще возможно.

  • Используйте параметр :platform в вашем Gemfile, чтобы установить только на OSX или Linux.Затем потребуйте части, которые вы можете использовать вручную, без загрузки less.Это, вероятно, не сработает.

...