如何让bundler使用chruby和.ruby-version设置的Ruby版本?
我很高兴为运行Ruby 1.8.7的应用程序设置开发环境。 不幸的是, bundler
没有使用.ruby-version
在.ruby-version
设置的Ruby .ruby-version
。
另外,我在Gemfile
包含了ruby "1.8.7"
本地版本是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
此问题包含一些有用的注释,但到目前为止,我还无法解决此问题。 由于通过brew install vim
安装vim
,我在/usr/local/opt
安装了Ruby 2.5.0。 这似乎是Ruby 1.8.7 bundle脚本使用的版本,如下所示:
$ which bundle /Users/keithpitty/.gem/ruby/1.8.7/bin/bundle $ head -n1 $(which bundle) #!/usr/local/opt/ruby/bin/ruby
事实certificate这个问题非常令人沮丧。 我非常感谢任何建议。
你有没有提到你计划使用的Gemfile中的ruby版本,如果没有尝试在你的Gemfile中添加ruby版本,请在此处获取更多信息。
ruby '~> 2.3.0'
另外,如果你的机器中有多个ruby版本,理想情况下你可以使用RVM或rbenv来管理多个Ruby版本。 (让你的生活变得轻松:))
我通过安装RubyGems 1.6.2修复了这个问题。 有关更多信息,请参阅如何在gem环境中设置正确的Ruby版本 。