Почему поиск версии Bundler выбирает предварительную версию здесь?
У нас есть жемчужина, которая как зависимость развития зависит от sass-rails
(в частности, в версии 5.0.4), которая, в свою очередь, зависит от railties >4.0.0
а также <5.0
,
Теперь мы не проверяем наш Gemfile.lock в репозитории, чтобы сделать его максимально гибким (в конце концов, это наш "универсальный" гем), а во время сборки travis устанавливаем sass-rails
разрешает свою зависимость railties
к версии 5.0.0.beta1
что я бы сказал интуитивно не <5.0
и теперь вызывает проблемы при запуске тестов на ruby < 2.2.2
(из-за rack
).
Теперь я что-то недопонимаю или это ошибка, которую устанавливает пакет 5.0.0.beta1
за <5.0
?
1 ответ
Это не ошибка, а ожидаемое поведение. Предполагается, что предварительные версии будут выпущены до фактического выпуска, поэтому они считаются меньшими.
См. http://ruby-doc.org/stdlib-2.0.0/libdoc/rubygems/rdoc/Gem/Version.html для получения более подробной информации.
Вы можете добавить зависимость времени выполнения к railties '~> 4.0'
к вашей gemspec, чтобы решить эту проблему.