ruby-on-rails – Rails安装失败:activesupport需要Ruby版本= 2.2.2

我想创建一个新的Rails应用程序.我正在使用rvm与 ruby-2.1.2.我使用@global gemset并计划使用bundler来管理gem依赖关系.但是,gem安装rails失败:
$gem install rails
Fetching: concurrent-ruby-1.0.3.pre3.gem (100%)
Successfully installed concurrent-ruby-1.0.3.pre3
Fetching: minitest-5.9.0.gem (100%)
Successfully installed minitest-5.9.0
Fetching: thread_safe-0.3.5.gem (100%)
Successfully installed thread_safe-0.3.5
Fetching: tzinfo-1.2.2.gem (100%)
Successfully installed tzinfo-1.2.2
Fetching: i18n-0.7.0.gem (100%)
Successfully installed i18n-0.7.0
Fetching: activesupport-5.0.0.gem (100%)
ERROR:  Error installing rails:
    activesupport requires Ruby version >= 2.2.2.

是的,这是真的我使用ruby-2.1.2而不是ruby-2.2.2,但是我还不能允许使用ruby-2.1.2?我们是不是不允许使用ruby-2.1.2了?

我以为也许ActiveSupport 5已经安装在@global gemset中,ActiveSupport 5需要2.2.2,但实际上@global gemset中没有ActiveSupport 5:

$rvm gemdir
/Users/myuser/.rvm/gems/ruby-2.1.2@global
$cd /Users/myuser/.rvm/gems/ruby-2.1.2@global
$cd gems
$ls
bundler-unload-1.0.2        gem-wrappers-1.2.4      rake-10.1.0         rvm-1.11.3.9            tzinfo-1.2.2
concurrent-ruby-1.0.3.pre3  i18n-0.7.0          rdoc-4.1.0          test-unit-2.1.2.0
executable-hooks-1.3.2      minitest-5.9.0          rubygems-bundler-1.4.4      thread_safe-0.3.5

那么在尝试使用ruby-2.1.2时如何防止出现此错误

解决方法

您可以使用任何宝石版本的遗嘱,但是您不能使用最新版本的Rails的任何红宝石版本.
当您做gem安装rails时,您将获得最新的Rails版本(Rails 5),这与Ruby 2.1.2完全不兼容.

如果您真的想使用Ruby 2.1.2,请尝试:gem install rails -v 4.2.2.

作为使用gemset,由于我喜欢这个很有组织,我从来没有使用全局.我总是为每个项目创建一个新的gemset.这样保证我可以有很多项目,每个项目都有一个ruby和rails版本,没有任何不兼容的宝石.这个gemset作为您的Ruby on Rails工作区.如果您按项目分隔,您将最小化宝石不兼容的怪物的几率.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...