Зависимость от драгоценных камней: предпочитайте nokogiri 1.5, но разрешите 1.6, если он уже установлен.

Мой гем зависит от нокогири ~> 1.5.0. Я бы хотел сохранить эту зависимость, так как эта версия имеет меньше зависимостей во время компиляции и обычно устанавливается без проблем. nokogiri 1.6.x, кажется, имеет больше проблем при установке. Поэтому, хотя я хотел бы поддерживать nokogiri 1.6, если он уже установлен, я не хочу делать его зависимостью по умолчанию.

Итак: предпочитайте nokogiri ~> 1.5.0, но используйте 1.6, если он присутствует.

Можно ли выразить это как зависимость в моем Gemfile или gemspec?


person Johannes Fahrenkrug    schedule 30.05.2014    source источник


Ответы (1)


Вы можете указать список спецификаторов версии, разделенных запятыми, в вашем gemspec. Они объединены И вместе.

spec.add_runtime_dependency "nokogiri", ">= 1.5.0", "< 1.7"

Это говорит о том, что любая версия 1.5.x или 1.6.x совместима.

У Rubygems нет понятия «предпочтительная» версия. Bundler и gem обычно пытаются установить последнюю доступную версию, которая удовлетворяет всем ограничениям.

См. http://guides.rubygems.org/patterns/#declaring-dependencies. подробности.

person Tim Moore    schedule 17.07.2014