【问题标题】:Unable to install Ruby Gems 3.0.3无法安装 Ruby Gems 3.0.3
【发布时间】:2019-04-21 12:54:35
【问题描述】:

由于 Logstash 的依赖错误并出现以下错误,我正在尝试通过 RVM 在 Raspberry Pi 上重新安装 Ruby 1.9.3。其他人也有类似的问题:

ruby-1.9.3-p551 - #downloading ruby-1.9.3-p551, this may take a while depending on your connection...
ruby-1.9.3-p551 - #extracting ruby-1.9.3-p551 to /home/pi/.rvm/src/ruby-1.9.3-p551.....
ruby-1.9.3-p551 - #applying patch /home/pi/.rvm/patches/ruby/GH-488.patch.
ruby-1.9.3-p551 - #applying patch /home/pi/.rvm/patches/ruby/1.9.3/CVE-2015-1855-p484.patch.
ruby-1.9.3-p551 - #applying patch /home/pi/.rvm/patches/ruby/1.9.3/update-autoconf.patch.
ruby-1.9.3-p551 - #applying patch /home/pi/.rvm/patches/ruby/1.9.3/openssl3.patch.
ruby-1.9.3-p551 - #configuring..............................................
ruby-1.9.3-p551 - #post-configuration..
ruby-1.9.3-p551 - #compiling..........................................................................................................................................................................
ruby-1.9.3-p551 - #installing........................
ruby-1.9.3-p551 - #making binaries executable..
ruby-1.9.3-p551 - #downloading rubygems-3.0.3
ruby-1.9.3-p551 - #extracting rubygems-3.0.3......
ruby-1.9.3-p551 - #removing old rubygems........
ruby-1.9.3-p551 - #installing rubygems-3.0.3..
Error running 'env GEM_HOME=/home/pi/.rvm/gems/ruby-1.9.3-p551@global GEM_PATH= /home/pi/.rvm/rubies/ruby-1.9.3-p551/bin/ruby -d /home/pi/.rvm/src/rubygems-3.0.3/setup.rb --no-document',
please read /home/pi/.rvm/log/1555769993_ruby-1.9.3-p551/rubygems.install.log

日志文件错误:

command(7): env GEM_HOME=/home/pi/.rvm/gems/ruby-1.9.3-p551@global GEM_PATH= /home/pi/.rvm/rubies/ruby-1.9.3-p551/bin/ruby -d /home/pi/.rvm/src/rubygems-3.0.3/setup.rb --no-document
Exception `LoadError' at /home/pi/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/1.9.1/rubygems.rb:1264 - cannot load such file -- rubygems/defaults/operating_system
Exception `LoadError' at /home/pi/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/1.9.1/rubygems.rb:1273 - cannot load such file -- rubygems/defaults/ruby
/home/pi/.rvm/src/rubygems-3.0.3/lib/rubygems/core_ext/kernel_require.rb:54:in `require': /home/pi/.rvm/src/rubygems-3.0.3/lib/rubygems/core_ext/kernel_warn.rb:15: syntax error, unexpected tLABEL (SyntaxError)
    module_function define_method(:warn) {|*messages, uplevel: nil|
                                                              ^
/home/pi/.rvm/src/rubygems-3.0.3/lib/rubygems/core_ext/kernel_warn.rb:18: void value expression
/home/pi/.rvm/src/rubygems-3.0.3/lib/rubygems/core_ext/kernel_warn.rb:43: syntax error, unexpected '}', expecting keyword_end
        from /home/pi/.rvm/src/rubygems-3.0.3/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
        from /home/pi/.rvm/src/rubygems-3.0.3/lib/rubygems.rb:1395:in `<top (required)>'
        from setup.rb:28:in `require'
        from setup.rb:28:in `<main>'

有什么建议吗?我对 Ruby 或 RVM 不是很熟悉,因此不胜感激。

【问题讨论】:

    标签: ruby rubygems runtime-error runtime rvm


    【解决方案1】:

    Ruby 1.9.3-p551 于 2014 年 11 月发布,此时与最新的 ruby​​gems 的兼容性可能已被破坏。

    尝试安装旧版本的 rubygems,我会从 2.4.4 开始,因为它与 Ruby 1.9.3 的发布非常一致,但我也会尝试升级到任何东西 2.X 因为人们应该期望支持持续几年。

    该项目的 changelog 确实提到了删除 1.9.2 的兼容性代码。

    【讨论】:

    • 支持任何东西 was removed。因此,目前仍支持 Ruby 1.9.3 的 Rubygems 最新版本是 Rubygems 2.7.9。在任何情况下,升级到更新的 Ruby 可能是个好主意,然后它也会接收安全更新。 Ruby 1.9.3 现在应该已经过时了。
    • 我在 OSX Mojave 上遇到了同样的问题。如何通过 RVM 下载和安装旧版本的 ruby​​gems 来指定安装 ruby​​ 1.9.3?似乎 RVM 下载、提取和安装 ruby​​gems 3 会自动尝试删除可能存在的每个旧版本
    【解决方案2】:

    在同一问题上运行。您需要将 ruby​​ gem 版本更改为 2.7.3,默认为 3.0.8

    • rvm_rubygems_version=2.7.3 rvm 重新安装 ruby​​-1.9.3

    它对我有用

    【讨论】:

      【解决方案3】:

      对我有用的是降级到旧版本的 rvm。

      curl -sSL https://get.rvm.io | bash -s 1.28.0
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-15
        • 2015-12-13
        相关资源
        最近更新 更多