[英]AWS Rails install fails: activesupport requires Ruby version >= 2.2.2
[英]Rails install fails: activesupport requires Ruby version >= 2.2.2
我想创建一个新的 Rails 应用程序。 我将 rvm 与 ruby-2.1.2 一起使用。 我正在使用@global
gemset 并计划使用 bundler 来管理 gem 依赖项。 但是, gem install 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 时如何防止出现此错误?
您可以使用任何ruby版本的遗嘱,但是不能使用任何ruby版本和最新版本的Rails。 当你做gem install rails
你会得到最新的Rails版本(Rails 5),它与Ruby 2.1.2完全不兼容。
如果你真的想使用Ruby 2.1.2,试试这个: gem install rails -v 4.2.2
。
作为gemset的使用,因为我喜欢这个非常有组织的,我从不使用全局。 我总是为每个项目创建一个新的gemset。 这保证了我可以拥有许多项目,每个项目都有一个ruby和rails版本,而不会在gem之间产生任何不兼容性。 这是gemset作为Ruby on Rails工作区。 如果您按项目分开它们,您将最大限度地减少宝石不兼容的奇怪几率。
gem install rails
上面的命令将使用最新版本的rails,即Rails 5的稳定版本,需要> = ruby 2.2.2。
我们可以使用2.1.2与较低版本的Rails。 请在安装rails时指定版本可以解决您的问题,例如:
gem install rails --version 4.2.4
要么
gem install rails -v 4.2.4
如果有效,请告诉我。 谢谢。
我在CocoaPod面前解决了它并通过以下方式解决了这个问题:
使用RVM为我工作,我按照这里的说明
curl -sSL https://rvm.io/mpapis.asc | gpg --import - &&\
curl -L get.rvm.io | bash -s stable &&\
source /etc/profile.d/rvm.sh && /usr/local/rvm/bin/rvm reload &&\
/usr/local/rvm/bin/rvm requirements run &&\
/usr/local/rvm/bin/rvm install 2.2.4 &&\
/usr/local/rvm/bin/rvm use 2.2.4 --default && ruby --version
我的环境是安装了CentOS的Docker容器
如果你正在使用rbenv
请使用此rbenv-doctor脚本验证是否已正确设置rbenv:
$ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.