Пессимистичный оператор Ruby для версии Ruby в Gemfile вызывает ошибку - PullRequest
0 голосов
/ 26 февраля 2019

В нашем Gemfile у нас есть следующее: ruby '~> 2.5.0'

Чтобы мы установили, что установлено хотя бы 2.5.0, но ниже 2.6.0

И мы установили Ruby 2.5.3p105 на нашем сервере, чтобы запустить это приложение ... поэтому мы находимся в версии, требуемой нашим Gemfile.

Однако, когда мы запускаем Puma, мы видим ошибку: Your Ruby version is 2.5.3, but your Gemfile specified ~> 2.5.0

Как этоэто возможно?Пессимистический оператор должен быть выполнен:

>= 2.5.0 && < 2.6.0

Если мы закомментируем эту строку из нашего Gemfile, то она будет работать ...?

Мы используем Bundler 1.170,3.

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Из руководства по комплектации по указанию драгоценных камней:

gem "rails", "~> 4.0.0" #, который совпадает с gem "rails", "> = 4.0.0","<4.1.0" </p>

Возможно, явная форма даст лучшие результаты?

В данном руководстве указано, что оно было написано для пакета 1.12

0 голосов
/ 26 февраля 2019

Мы не совсем уверены, в чем заключалась проблема или в чем было собственное исправление ...

Но, в основном, попробовав следующее: ruby '>= 2.5.0', '< 2.6', как предложено в комментариях к исходному вопросу, мыстолкнулся с этой ошибкой:

/usr/lib/ruby/vendor_ruby/bundler/ruby_dsl.rb:4:in '[]': (Bundler::Dsl::DSLError)
[!] There was an error parsing 'Gemfile': no implicit conversion of Symbol into Integer. Bundler cannot continue.
# from /srv/portal/releases/2019-02-21-15-55-45/Gemfile:1 
# ------------------------------------------- 
> ruby('>= 2.5.0', '< 2.6') 
# source 'https://rubygems.org' 
# -------------------------------------------

Что заставило нас думать, что что-то не так с фактическим установленным Ruby ... так как при локальной попытке это было нормально, мы также попробовали это на другом сервере, и это было такжеработая без проблем.

Итак, мы удалили Ruby, удалили все Gems, а затем выполнили полное обновление пакета на используемом нами дистрибутиве Ubuntu, а затем снова установили сборщик и все гемы, и это сработало ..Кажется, что-то вокруг одного из пакетов заставляло Ruby вести себя странно и не понимать, как правильно использовать метод ruby ​​в Gemfile, вызывая вышеупомянутые проблемы.

Надеюсь, если кто-нибудь еще столкнется с подобнымпроблемы это поможет ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...