Как я могу заставить упаковщик использовать версию Ruby, установленную chruby и.ruby-version?

Я с удовольствием настраиваю среду разработки для приложения под управлением Ruby 1.8.7. к несчастью bundler не использует версию Ruby, установленную в .ruby-version от chruby,

Также у меня есть ruby "1.8.7" включены в Gemfile

В то время как локальная версия ruby-1.8.7-p374, bundler среда использует ruby-2.5.0p0,

$ ruby -v
ruby 1.8.7 (2013-06-27 patchlevel 374) [i686-darwin17.3.0]

$ bundle env | grep Ruby
Ruby          2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin17]

Это приводит к следующему сообщению:

$ bundler
Your Ruby version is 2.5.0, but your Gemfile specified 1.8.7

Эта проблема содержит некоторые полезные комментарии, но до сих пор я не смог решить эту проблему. У меня действительно установлен Ruby 2.5.0 в /usr/local/opt в результате установки vim с помощью brew install vim, Это может появиться в версии, используемой сценарием пакета Ruby 1.8.7, о чем свидетельствуют:

$ which bundle
/Users/keithpitty/.gem/ruby/1.8.7/bin/bundle

$ head -n1 $(which bundle)
#!/usr/local/opt/ruby/bin/ruby

Эта проблема оказывается довольно неприятной. Буду очень признателен за любые предложения.

3 ответа

Решение

Я исправил это, установив RubyGems 1.6.2. См. Как установить правильную версию Ruby в среде gem для получения дополнительной информации.

Вы упомянули версию ruby ​​в Gemfile, которую планируете использовать, если не пытаетесь добавить версию ruby ​​в свой Gemfile, больше информации здесь.

ruby '~> 2.3.0'

Также отметим, что если на вашем компьютере установлено несколько версий ruby, в идеале вы можете использовать RVM или rbenv для управления несколькими версиями Ruby. (облегчает вашу жизнь:))

Я выполнил эти инструкции https://gist.github.com/andrewroycarter/6815905

Короче говоря, у меня есть проект, использующий 2.5.8, а моя локальная версия - 2.7.2, поэтому установка пакета говорит

Ваша версия Ruby - 2.7.2, но в вашем Gemfile указано 2.5.8.

Я зашел в свой домашний каталог (или, по крайней мере, покинул каталог проекта), активировал chruby 2.5.8 и установил гем пакета.

      cd
chruby 2.5.8
gem install bundler

Теперь, когда я возвращаюсь в каталог проекта, я могу выполнить установку пакета.

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