链轮需要 Ruby 版本 >= 2.5.0 on rails 5

Luc*_*rna 8 ruby ruby-on-rails ruby-on-rails-5

我在我的电脑上安装了 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
Run Code Online (Sandbox Code Playgroud)

我想安装 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.
Run Code Online (Sandbox Code Playgroud)

我不在乎 rails 5 版本。越新越好,但所有版本都给我错误

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

Yur*_*ich 14

最新 (4.0.0) 版本的链轮确实需要ruby >= 2.5.0. 在这里检查

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

要手动更改链轮的版本,请将以下行添加到您的 Gemfile

gem 'sprockets', '~> 3.7.2'
Run Code Online (Sandbox Code Playgroud)

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

gem install sprockets -v 3.7.2


wrs*_*rsx 9

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

gem install sprockets -v 3.7.2
Run Code Online (Sandbox Code Playgroud)