【问题标题】:Bundle not found after changing ruby version with RVM使用 RVM 更改 ruby​​ 版本后找不到捆绑包
【发布时间】:2017-08-02 18:15:13
【问题描述】:

我觉得这是一个超级初学者的问题,答案很明显,但我错过了。

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

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

然后我运行bundle install 并得到zsh: command not found: bundle。为什么是这样?我的所有其他命令都可以工作,我可以使用 gem install 单独安装问题 gem。

我错过了什么?

【问题讨论】:

    标签: ruby-on-rails ruby rvm bundler


    【解决方案1】:

    到目前为止,您可能已经为您一直使用的 ruby​​ 版本安装了 Bundler。但是,RVM 提供的 ruby​​ 版本默认不安装 Bundler,所以在切换到 ruby​​-2.2.2 后,为该 ruby​​ 安装 Bundler:

    gem install bundler
    

    然后尝试再次运行bundle install

    【讨论】:

      【解决方案2】:

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

        gem install bundler 
      

      上面列出的正确命令只会解决该单个 gemset 的此错误。我建议运行以下命令以避免任何其他也绑定到相同版本 ruby​​ 的 gemset。

        rvm use 2.2.2@global
        gem install bundler
      

      这会将 bundler gem 放入您的 global 2.2.2 gemset 中,使其可用但可被所有其他 2.2.2 gemset 覆盖。您还可以在这个全局 2.2 gemset 中安装 nokogiri 等常见但非常耗时的 gem

      【讨论】:

      • Michael Deering 的建议对我特别有帮助,我的捆绑器指向的是我的系统 Ruby,而不是我的 RVM 安装的 Ruby,尽管我已将后者设置为我的默认值。将捆绑器 gem 放入我的 RVM Ruby 安装的全局 gemset 中,一切正常。
      猜你喜欢
      • 1970-01-01
      • 2012-01-18
      • 1970-01-01
      • 2021-10-06
      • 1970-01-01
      • 2021-04-11
      • 1970-01-01
      • 1970-01-01
      • 2012-01-29
      相关资源
      最近更新 更多