【问题标题】:sprockets requires Ruby version >= 2.5.0 on rails 5sprockets 需要 Ruby 版本 >= 2.5.0 on rails 5
【发布时间】:2019-10-09 10:51:44
【问题描述】:

我的 PC 上安装了 rvm,默认 ruby​​ gemset 为 2.4.1

rvm list
   ruby-2.4.0 [ x86_64 ]
=* ruby-2.4.1 [ x86_64 ]
   ruby-2.6.3 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

我想安装 rails 5 但是 sprockets 无法安装需要 2.5 ruby​​。但是 rails 5 应该适用于 2.2.2 以上的任何 ruby​​:

gem install rails -v 5.1.4
Fetching: activesupport-5.1.4.gem (100%)
Successfully installed activesupport-5.1.4
Fetching: actionview-5.1.4.gem (100%)
Successfully installed actionview-5.1.4
Fetching: actionpack-5.1.4.gem (100%)
Successfully installed actionpack-5.1.4
ERROR:  Error installing rails:
    sprockets requires Ruby version >= 2.5.0.

我不关心 rails 5 版本。越新越好,但所有版本都会给我错误

知道为什么会发生这种情况吗?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-5


    【解决方案1】:

    最新 (4.0.0) 版本的 sprockets 确实需要ruby >= 2.5.0。检查它here

    您的Gemfile 中的gem 'sprockets' 是否设置为特定版本?

    要手动更改 sprocket 的版本,请将下面的行添加到您的 Gemfile

    gem 'sprockets', '~> 3.7.2'
    

    如果您还没有 Gemfile,请尝试直接安装。

    gem install sprockets -v 3.7.2

    【讨论】:

    • 我没有 gemfile,文件夹是空的,想做一个新的 rails 但需要安装 rails。
    • 我不知道为什么,但这对我不起作用,但从其他答案直接安装链轮就像一个魅力
    【解决方案2】:

    对于那些在 gemfile 中没有明确指定的情况下遇到这种情况的人,另一种解决方法是手动安装以前的版本:

    gem install sprockets -v 3.7.2
    

    【讨论】:

      【解决方案3】:

      Rails 5 可能只需要 Ruby => 2.2.2,但如果您不在 Gemfile 中对 gem 进行版本化,它总是会下载最新版本的 gem。之后的 gem 版本可能需要更高版本的 Ruby。

      然而,这与 Rails 无关!

      另外,在 Rails 5.1.4 中使用 Ruby 2.4.1 时可能会遇到问题

      Which Ruby on Rails is compatible with which Ruby version?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-09
        • 1970-01-01
        • 2013-05-30
        相关资源
        最近更新 更多