Bundler发现了错误的ruby版本

sau*_*atz 6 ruby bash activesupport bundler

我正在使用OS X 10.10.5(Yosemite).我正在尝试为MacDown 克隆github repo.README中的说明说克隆后应该这样做

git submodule init
git submodule update
bundle install
bundle exec pod install
Run Code Online (Sandbox Code Playgroud)

我不是一个红宝石程序员,所以我不得不安装Bundler.前两个步骤运行正常,但是当我试图运行时,bundle install我得到了错误

activesupport-5.0.0.1 requires ruby version >= 2.2.2, which is incompatible with the current version, ruby 2.0.0p481
Run Code Online (Sandbox Code Playgroud)

所以我尝试了brew install ruby,现在我有了

saul@miniMac ? ruby --version
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin14]
Run Code Online (Sandbox Code Playgroud)

但是,bundle install给我与以前相同的错误消息.很明显,它正在找到红宝石,/usr/bin/ruby而不是那个/usr/local/bin/ruby.我该如何纠正?

我想也许问题是我在升级ruby之前安装了bundler,既没有sudo gem uninstall bundler也没有sudo gem uninstall bundle任何影响,我不知道还有什么可以尝试.

以下是所有输出,如果相关:

saul@miniMac ? bundle install
Fetching gem metadata from https://rubygems.org/..........
Fetching version metadata from https://rubygems.org/..
Fetching dependency metadata from https://rubygems.org/.
Resolving dependencies...
activesupport-5.0.0.1 requires ruby version >= 2.2.2, which is incompatible with
the current version, ruby 2.0.0p481
Run Code Online (Sandbox Code Playgroud)

编辑:

谢谢你的建议.我gem install bundler再次尝试,但没有帮助.我收到了同样的错误消息.这是我得到的bundle env

saul@miniMac ? bundle env
Environment

    Bundler   1.13.6
    Rubygems  2.0.14
    Ruby      2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]
    Git       2.5.4 (Apple Git-61)

Gemfile

    source 'https://rubygems.org'

    gem 'cocoapods', '0.39.0'

Gemfile.lock

<No /Users/saul/Projects/macdown/Gemfile.lock found>
Run Code Online (Sandbox Code Playgroud)

编辑2:

saul@miniMac ? which -a bundle
/usr/local/bin/bundle
/usr/bin/bundle
Run Code Online (Sandbox Code Playgroud)

hma*_*ias 4

看来您的 PATH 可能有一个条目指向旧版本的 Ruby,尽管有较新的版本 (2.3.1),但它会使用它在 PATH 中找到的条目之一中找到的第一个 ruby​​ 二进制文件,该条目恰好是旧版本。您可以尝试将最新的 Ruby 路径添加为 PATH 变量的第一个条目,但如果运行子 shell 并加载默认 PATH,则最新 Ruby 的路径将被覆盖。话虽这么说,我认为最简单的方法是在这里使用 rvm 来确保您的环境已设置为您打算在任何给定时间使用的版本。RVM可以在同一个系统中管理多个版本的ruby。请在此处阅读有关 RVM 的更多信息。

在同一终端窗口中运行以下所有命令:

  1. 安装rvm:curl -sSL https://get.rvm.io | bash -s 稳定
  2. 将 rvm 二进制文件添加到 PATH:export PATH="$PATH:$HOME/.rvm/bin"
  3. 安装您需要的ruby版本:rvm install 2.3.1
  4. 配置当前 shell 以使用特定版本的 Ruby,如下所示:rvm use 2.3.1
  5. 再次运行捆绑安装