Как я могу заставить упаковщик использовать версию 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
Теперь, когда я возвращаюсь в каталог проекта, я могу выполнить установку пакета.