2013-11-09 113 views
2

我有我的Mac上安装了Ruby,但是当我尝试gem install rails我收到以下错误信息:安装Ruby Gems的问题?

Could not find a valid gem 'rails' (>= 0), here is why: 
Unable to download data from https://rubygems.org/ - Errno::ENOMEM: Cannot allocate memory - connect(2) (https://rubygems.org/latest_specs.4.8.gz) 

我试过其他几个宝石,并得到了同样的信息。我不确定这意味着什么,任何人都可以提出任何建议吗?

gem env输出:

RubyGems的环境:

  • RubyGems的VERSION:2.0.3
  • RUBY VERSION:2.0.0(2013年6月27日247 PATCHLEVEL)[普遍。 x86_64-darwin13]
  • 安装目录:/Library/Ruby/Gems/2.0.0
  • RUBY EXECUTABLE:/ System/Library/Frameworks/Ruby。框架/版本/ 2.0的/ usr /斌/红宝石
  • 可执行文件目录:在/ usr/bin中
  • RubyGems的平台:
    • 红宝石
    • 万向达尔文-13
  • GEM PATHS:
    • /Library/Ruby/Gems/2.0.0
    • /Users/brent/.gem/ruby/2.0.0
    • /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/ 2.0.0
  • GEM CONFIGURATION:
    • :update_sources =>真
    • :冗长=>真
    • :回溯=>假
    • :bulk_threshold => 1000个
  • 远程源:
+0

另外...我检查了我的宝石安装,它是最新的。仅供参考 – bsuggs13

+0

在命令行运行'gem env'并通过编辑将其输出添加到您的问题中。 –

+0

它说你内存不足。 _你是否内存不足? –

回答

5

我有这个问题,这是由于诺顿防火墙。显然,当以这种方式调用sudo时,防火墙永远不会提示应用程序阻塞。因此,网络访问被阻止。暂时禁用防火墙修复了错误。

这也可以解释为什么其他解决方案可以工作,包括其他终端应用程序 - 他们以前可能已被授予网络访问权限。

+0

这为我修好了!谢谢! – vol4life27

-2

你应该真的使用Bundler

test-rails”是一个非常简单的Rails应用程序的例子,它通过bundler安装Rails gem。

您不需要将Rails作为系统级别的gem安装。拯救自己未来的头痛,并立即与Bundler开始 - 你不会后悔。

+0

这个问题并没有要求你对bundler的看法,也没有帮助解决这个问题。 –

0

它看起来像“Ruby”没有安装或工作正常。

我推荐使用“RVM (Ruby Version Manager)”,但是,如果您需要另辟蹊径,请确保您的系统中安装了Ruby。列出你的Ruby和Ruby的grep。然后安装Rails。

我假设其他东西像捆绑器或权限将被处理。

0

不要使用系统红宝石。你将需要安装像RVM或rbenv这样的ruby-manager。

我真的很喜欢thoughtbot这个shell脚本 - https://github.com/thoughtbot/laptop

你将不得不安装Xcode和从Xcode中额外开发工具和命令行工具。

之后运行thinkbot脚本。一旦你开始,它会需要一段时间。所以去喝点咖啡吧。这将安装自制软件,rbenv和安装一切。

+0

这是一个非常重量级的解决方案来解决红宝石安装问题。 –

+0

@kevin之前你没有安装ruby吗?我认为我所呈现的是超级简单,相比之下,我曾经必须这样做.. Idk欢迎来到铁轨!它很简单,对!!相比火箭科学 – nil

+0

另外,Thoughtbot没有解决这个问题。尝试运行'gem install compass'时,我仍然遇到同样的错误。顺便说一句,这是在小牛队。 –

0

由于似乎没有工作答案,如果你们仍然坚持这个问题,我建议下面的解决方法(这对我的OS X小牛适用): 1)这似乎是一个终端相关的问题。 2)因此,请在iTerm2(http://www.iterm2.com)控制台中试用您的命令(“gem install rails”或“gem install compass”)。

0

我也得到了同样的错误,这是我的网络导致错误。检查您的网络连接和代理设置。