安装Rails 4.2.0.beta1 - 在排序期间找到未解决的依赖项

Dan*_*hoe 7 rubygems ruby-on-rails ruby-on-rails-4.2

我试图安装Rails 4.2.0.beta1(2014年8月20日发布).我收到错误"在排序期间找到未解决的依赖项".以下是详细信息:

$ ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]
$ gem -v
2.4.1
$ gem install rails --pre
ERROR:  While executing gem ... (Gem::DependencyError)
    Unresolved dependency found during sorting - activesupport (>= 4.0)
(requested by sprockets-rails-3.0.0.beta1)
Run Code Online (Sandbox Code Playgroud)

如何安装Rails 4.2.0.beta1?

Dan*_*hoe 12

您正在使用RubyGems 2.4.1:

$ gem -v
2.4.1
Run Code Online (Sandbox Code Playgroud)

最新的RubyGems 2.4.1版本(系统gem)存在一个错误,导致很难安装Rails 4.2.0.beta1.请参阅Rails问题16609.

您可以通过降级到RubyGems的2.2.2版本来解决此问题.

$ gem update --system 2.2.2
Updating rubygems-update
Fetching: rubygems-update-2.2.2.gem (100%)
Successfully installed rubygems-update-2.2.2
Installing RubyGems 2.2.2
RubyGems 2.2.2 installed
Run Code Online (Sandbox Code Playgroud)

现在您将能够安装Rails 4.2.0.beta1.

如果您正在使用RVM,并且想要使用两个不同版本的RubyGems系统gem,则需要安装具有不同RVM名称的最新Ruby 2.1.2版本的两个不同版本.例如,如果你已经安装了最新的RubyGems 2.4.1的Ruby 2.1.2,你可以安装另一个版本的Ruby 2.1.2,给它一个不同的名字:

$ rvm install ruby-2.1.2-oldrubygem
Run Code Online (Sandbox Code Playgroud)

RubyGems 2.2.2默认安装在当前的Ruby 2.1.2版本中:

$ ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]
$ gem -v
2.2.2
Run Code Online (Sandbox Code Playgroud)

您将能够安装Rails 4.2.0.beta1.


gee*_*dev 1

此问题已在 RubyGems 上得到修复。至少升级到 2.4.4

请查看此 GitHub 问题以获取更多信息。