我很高兴为运行Ruby 1.8.7的应用程序设置开发环境。遗憾的是,bundler
未使用.ruby-version
chruby
中设置的Ruby版本。{/ 1}
另外,我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
This issue包含一些有用的评论,但到目前为止,我还无法解决此问题。由于通过/usr/local/opt
安装vim
,我在brew install vim
安装了Ruby 2.5.0。这似乎是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
这个问题证明非常令人沮丧。我非常感谢任何建议。
答案 0 :(得分:0)
您是否曾在计划使用的Gemfile中提及ruby版本,如果没有尝试在Gemfile中添加ruby版本,请提供更多信息here。
ruby '~> 2.3.0'
另外请注意,如果您的计算机中有多个ruby版本,理想情况下您可以使用RVM或rbenv来管理多个Ruby版本。 (让你的生活变得轻松:))
答案 1 :(得分:0)
我通过安装RubyGems 1.6.2来解决此问题。有关更多信息,请参见How to set correct Ruby version in gem environment。
答案 2 :(得分:0)
我遵循了这些说明 https://gist.github.com/andrewroycarter/6815905
简而言之,我有一个使用 2.5.8 的项目,我的本地版本是 2.7.2,所以 bundle install 说
<块引用>您的 Ruby 版本是 2.7.2,但您的 Gemfile 指定了 2.5.8
我所做的是转到我的主目录(或至少离开项目目录),激活 chruby 2.5.8 并安装 bundle gem
cd
chruby 2.5.8
gem install bundler
现在,当我回到项目目录时,我可以进行捆绑安装。