如何让捆绑器使用由 chruby 和 .ruby-version 设置的 Ruby 版本?
How can I get bundler to use the Ruby version set by chruby and .ruby-version?
我有幸为应用程序搭建了一个开发环境运行 Ruby 1.8.7。不幸的是 bundler
没有使用 chruby
在 .ruby-version
中设置的 Ruby 版本。
此外,我在 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
This issue 包含一些有用的评论,但到目前为止我还无法解决问题。由于通过 brew install vim
安装 vim
,我确实在 /usr/local/opt
中安装了 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
事实证明这个问题非常令人沮丧。如果有任何建议,我将不胜感激。
您是否提到了您计划使用的 Gemfile 中的 ruby 版本,如果没有尝试在您的 Gemfile 中添加 ruby 版本,请了解更多信息 here.
ruby '~> 2.3.0'
另外,如果您的机器中有多个 ruby 版本,理想情况下您可以使用 RVM or rbenv 来管理多个 Ruby 版本。 (让您的生活更轻松 :))
我通过安装 RubyGems 1.6.2 解决了这个问题。有关更多信息,请参阅 。
我遵循了这些说明
https://gist.github.com/andrewroycarter/6815905
简而言之,我有一个项目使用 2.5.8,我的本地版本是 2.7.2,所以 bundle install 说
Your Ruby version is 2.7.2, but your Gemfile specified 2.5.8
我所做的是转到我的主目录(或至少离开项目目录),激活 chruby 2.5.8 并安装包 gem
cd
chruby 2.5.8
gem install bundler
现在,当我回到项目目录时,我可以进行捆绑安装。
我有幸为应用程序搭建了一个开发环境运行 Ruby 1.8.7。不幸的是 bundler
没有使用 chruby
在 .ruby-version
中设置的 Ruby 版本。
此外,我在 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
This issue 包含一些有用的评论,但到目前为止我还无法解决问题。由于通过 brew install vim
安装 vim
,我确实在 /usr/local/opt
中安装了 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
事实证明这个问题非常令人沮丧。如果有任何建议,我将不胜感激。
您是否提到了您计划使用的 Gemfile 中的 ruby 版本,如果没有尝试在您的 Gemfile 中添加 ruby 版本,请了解更多信息 here.
ruby '~> 2.3.0'
另外,如果您的机器中有多个 ruby 版本,理想情况下您可以使用 RVM or rbenv 来管理多个 Ruby 版本。 (让您的生活更轻松 :))
我通过安装 RubyGems 1.6.2 解决了这个问题。有关更多信息,请参阅
我遵循了这些说明 https://gist.github.com/andrewroycarter/6815905
简而言之,我有一个项目使用 2.5.8,我的本地版本是 2.7.2,所以 bundle install 说
Your Ruby version is 2.7.2, but your Gemfile specified 2.5.8
我所做的是转到我的主目录(或至少离开项目目录),激活 chruby 2.5.8 并安装包 gem
cd
chruby 2.5.8
gem install bundler
现在,当我回到项目目录时,我可以进行捆绑安装。