omn​​iauth需要Ruby版本> = 2.1.9。安装gem文件时出现问题

时间:2017-07-04 12:03:21

标签: ruby-on-rails ruby rubygems omniauth gemfile

输入“bundle install”后出现错误,但Ruby版本存在某种问题。到目前为止已安装了许多宝石,并且从未在Ruby版本中使用过。

升级Ruby版本以使用“捆绑安装”重新回到正轨而不将应用置于“风险”的最佳方法是什么?

这就是我所做的:

1st - 将twitter omniauth gem添加到我的gemfile中。

2nd - 在app / config / initializers文件夹中创建了一个omniauth.rb文件。

3rd - 键入“bundle install”命令并出现以下错误:“omniauth需要Ruby版本> = 2.1.9。”

1 个答案:

答案 0 :(得分:0)

依赖关系可以在required_ruby_version文件中指定.gemspec。在这种情况下,你的一个子依赖项(omniauth-- omniauth-oauth的子依赖项,这又是omniauth-twitter的子依赖项)已经有了这样的要求since v1.5.0

要获得有效的安装,您有两种选择:

  1. 通过向您的Gemfile添加gem "omniauth", "~> 1.4.2"来固定旧版本的omniauth。这将确保Bundler使用较旧版本的omniauth。 然而,这可能会导致与其他宝石的冲突,让您遇到同样的问题 - 实际上,这可能是Bundler没有自动尝试安装旧版本的原因。

  2. 更新您的Ruby版本。如果您的应用中有.ruby-version个文件,请将其版本更新为2.1.9。同样,如果您的Gemfile中有ruby "..."行,也请更新。您可能还需要在本地安装新版本的Ruby - 使用rbenv可以使用$ rbenv install 2.1.9,或者如果您使用RVM,请尝试$rvm install 2.1.9

  3. 我的建议是选项2(更新您的Ruby版本)。