【问题标题】:Error while installing rack安装机架时出错
【发布时间】:2016-05-08 06:42:29
【问题描述】:

安装机架时出现以下错误

❯ sudo -E gem install rack -v '2.0.0.alpha'

错误:安装机架时出错:机架需要 Ruby 版本 >= 2.2.2。

ruby -v 的输出给出

ruby 2.3.0p0(2015-12-25 修订版 53290)[x86_64-linux-gnu]

gem -v 的输出给出

2.5.1

我该如何解决这个错误?

【问题讨论】:

    标签: ruby-on-rails ruby rubygems rack


    【解决方案1】:

    我在 Ruby 2.1.4 上遇到了这个问题,需要更新 ruby​​gems

    gem install rubygems-update
    update_rubygems
    

    【讨论】:

    • rubygems 已经是最新版本。我在问题描述中添加了这一点。
    • 现在你需要gem install rubygems-update -v 2.7.11,这是仍然支持Ruby
    【解决方案2】:

    您是否对系统 ruby​​ 和实现 ruby​​ 感到困惑?

    快速测试一下 sudo ruby​​ -v 的输出是否小于 2.3.0 就可以了。

    如果是这种情况,您不需要使用 sudo 并对路径进行排序,以便您可以与您的用户一起使用 ruby​​。

    我会等待这个答案的删除键,以防万一它不是:)

    【讨论】:

      【解决方案3】:

      ruby -v 具有您安装的 ruby​​ 的输出,带有虚拟化(如 rbenv 或 rvm)。但是你的系统 ruby​​ 可能有一些早于 2.2.2 的版本。

      在这种情况下,您不需要使用sudo,因为它用于系统红宝石。试试看:

      gem install rack
      

      【讨论】:

        【解决方案4】:
        [vagrant@centos65 puppet]$ sudo gem install rack passenger  
        ERROR:  Error installing rack:
        
        rack requires Ruby version >= 2.2.2.
        
        ERROR:  Error installing passenger:
        
        rake requires Ruby version >= 1.9.3
        

        .

        当我尝试从 gem 包管理器 安装 Rack and Passenger 时,我收到了上述错误。我尝试了各种方法,但对我没有帮助。我尝试过以下命令,到目前为止它对我有用。希望对你有帮助。

        [vagrant@centos65 puppet]$ sudo gem install rack -v 1.6.0
        
        Successfully installed rack-1.6.0
        
        1 gem installed
        
        Installing ri documentation for rack-1.6.0...
        
        Installing RDoc documentation for rack-1.6.0...
        
        [vagrant@centos65 puppet]$ sudo gem install rake -v 10.4.2
        
        Successfully installed rake-10.4.2
        
        1 gem installed
        
        Installing ri documentation for rake-10.4.2...
        
        Installing RDoc documentation for rake-10.4.2...
        
        [vagrant@centos65 puppet]$ sudo gem install daemon_controller -v 1.2.0 
        
        Successfully installed daemon_controller-1.2.0
        
        1 gem installed
        
        Installing ri documentation for daemon_controller-1.2.0...
        
        Installing RDoc documentation for daemon_controller-1.2.0...
        
        [vagrant@centos65 puppet]$ sudo gem install passenger -v 4.0.56
        

        【讨论】:

          【解决方案5】:

          我在构建 docker 映像时遇到了类似的问题。我正在使用这个 Dockerfile

          FROM ubuntu:14.04
          RUN apt-get update -y && apt-get -y install ruby ruby-dev build-essential redis-tools
          RUN gem install --no-rdoc --no-ri sinatra json redis
          RUN mkdir -p /opt/webapp
          EXPOSE 4567
          CMD [ "/opt/webapp/bin/webapp" ]
          
          

          但这个错误在我更改基础图像后得到解决

          FROM ubuntu:18.04
          RUN apt-get update -y && apt-get -y install ruby ruby-dev build-essential redis-tools
          RUN gem install --no-rdoc --no-ri sinatra json redis
          RUN mkdir -p /opt/webapp
          EXPOSE 4567
          CMD [ "/opt/webapp/bin/webapp" ]
          
          

          【讨论】:

            猜你喜欢
            • 2018-01-04
            • 2013-11-23
            • 2016-04-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多