Почему поиск версии 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, чтобы решить эту проблему.

Другие вопросы по тегам