【问题标题】:Bundler can't install signetBundler 无法安装 signet
【发布时间】:2020-07-03 03:07:04
【问题描述】:

我刚刚删除了rbenv,因为我想安装比rbenv 可用的更新的Ruby 版本(2.6),然后安装了Ruby 2.6,一切正常,现在尝试重新安装所有gem我的应用程序遇到了以下问题:

$ bundle install
Installing signet 0.14.0
Gem::InstallError: signet requires Ruby version >= 2.4.0.
An error occurred while installing signet (0.14.0), and Bundler cannot continue.
Make sure that `gem install signet -v '0.14.0' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  google_drive was resolved to 2.1.12, which depends on
    google-api-client was resolved to 0.21.2, which depends on
      googleauth was resolved to 0.6.7, which depends on
        signet

但是 ruby​​ 显然已经升级了:

$ ruby -v
ruby 2.6.6p146 (2020-03-31 revision 67876) [x86_64-linux-gnu]

如果我尝试手动安装 signet,它可以正常工作:

gem install signet -v '0.14.0' --source 'https://rubygems.org/'
Successfully installed signet-0.14.0
Parsing documentation for signet-0.14.0
Done installing documentation for signet after 0 seconds
1 gem installed

但是,如果我再次运行bundle install,我仍然会遇到同样的问题。我也试过bundle install --path vendor/cachebundle install --system 无济于事。

请注意,gem 似乎安装在正确的位置:

gem which signet
/var/lib/gems/2.6.0/gems/signet-0.14.0/lib/signet.rb

如果我将它与 bundler 安装的另一个比较:

gem which multi_json
/var/lib/gems/2.6.0/gems/multi_json-1.14.1/lib/multi_json.rb

这是Ubuntu 16.04.4 LTSbundler 1.16.3

我该如何解决这个问题?

【问题讨论】:

    标签: ruby-on-rails ubuntu bundler rbenv


    【解决方案1】:

    所以我终于想通了,安装一个较新版本的 bundler(但 nokogiri 这样的原生 gem,然后运行指定捆绑器版本的整个东西。

    对于那些感兴趣的人,这些是命令:

    apt-get remove ruby-dev
    apt install ruby2.6-dev
    gem install bundler -v 1.17.3
    bundle _1.17.3_ install
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-02
      • 2015-09-23
      • 1970-01-01
      • 2019-01-07
      • 2021-08-27
      • 2015-09-15
      • 1970-01-01
      相关资源
      最近更新 更多