使用 RVM 更改 ruby 版本后未找到捆绑包

Bundle not found after changing ruby version with RVM

我觉得这是一个超级初学者的问题,答案很明显,但我想念它。

我正在安装一个 Rails 项目,其中包含一个 gem,要求我使用 2.2.2 或更早版本的 Ruby。由于我当前的系统设置了较新版本的 Ruby,当我 运行 bundle install 时,它失败了,因为其中一个 gem 无法安装Ruby 的最新版本。

所以,我将我的系统设置为使用 ruby 2.2.2 和 rvm,rvm use ruby-2.2.2

然后我 运行 bundle install 得到 zsh: command not found: bundle。为什么是这样?我的所有其他命令都有效,我可以使用 gem install.

单独安装问题 gem

我错过了什么?

您可能已经为您一直使用的 ruby 版本安装了 Bundler。但是,RVM默认提供的ruby版本并没有安装Bundler,所以当你切换到ruby-2.2.2后,为那个ruby安装Bundler:

gem install bundler

然后再试 运行 bundle install

如果您刚刚在 RVM 上切换到 ruby 的新版本,在这种情况下安装 2.2.2

  gem install bundler 

上面列为正确的命令只会解决单个 gem 集的错误。我会建议 运行 以下命令以避免它用于任何其他 gem 集也绑定到相同版本的 ruby.

  rvm use 2.2.2@global
  gem install bundler

这会将 bundler gem 放入您的 global 2.2.2 gemset 使其可用但可由所有其他 2.2.2 gem 集覆盖。您还可以安装像 nokogiri 之类的 gems,这些很常见但非常耗时到这个全局 2.2 gemset