gem安装typhoeus - 无法构建gem扩展

时间:2011-01-18 08:19:41

标签: ruby-on-rails ruby rubygems install rvm

我在尝试安装名为typhoeus的gem时遇到错误(这用于下面的“使用Rails进行面向服务的设计”一书) - 我已经尝试了很多东西来尝试解决这个问题但是我我打了一堵砖墙,发帖在这里,希望有人可以提供帮助。

这是输出:

$ gem install typhoeus

Building native extensions.  This could take a while...
ERROR:  Error installing typhoeus:
    ERROR: Failed to build gem native extension.

/Users/my.name/.rvm/rubies/ruby-1.8.7-p302/bin/ruby extconf.rb
checking for curl/curl.h in /opt/local/include,/opt/local/include/curl,/Users/my.name/.rvm/rubies/ruby-1.8.7-p302/include/curl,/Users/my.name/.rvm/rubies/ruby-1.8.7-p302/include,/usr/include/curl,/usr/local/include/curl... yes
checking for curl_easy_init() in -lcurl... yes
creating Makefile

make
gcc -I. -I. -I/Users/my.name/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/1.8/i686-darwin10.5.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common -g -O2  -fno-common -pipe -fno-common   -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline  -c native.c
In file included from /usr/local/include/curl/curl.h:35,
                 from ./native.h:5,
                 from native.c:1:
/usr/local/include/curl/curlrules.h:143: error: size of array ‘__curl_rule_01__’ is negative
make: *** [native.o] Error 1

我在OS X Snow Leopard上使用带有ruby-1.8.7-p302的rvm和最新的XCode工具。

从搜索周围我尝试做各种各样的事情,比如尝试在我拥有的其他ruby版本下安装gem(ree-1.8.7-2010.02,ruby-1.9.2-head和system ruby​​),为ARCHFLAGS参数传递架构标志(x86_64或i386)等。

我是红宝石的新手所以非常感谢任何帮助,谢谢!

4 个答案:

答案 0 :(得分:19)

不确定Mac上是否相同,但我遇到了与Ubuntu相同的问题。

sudo apt-get install curl  

sudo apt-get install libcurl3 libcurl3-dev

sudo gem install typhoeus 

仅在安装libcurl库

之后才为我工作

感谢。

答案 1 :(得分:9)

您实际上只需要libcurl3-dev:

sudo apt-get install libcurl3-dev
sudo gem install typhoeus

应该工作得很好。

答案 2 :(得分:2)

不确定,但似乎您的系统并不像宝石源所期望的那样。

由于它使用curl和old problem,我猜你的卷曲需要更新。

系统是否已安装curl,或者您使用的是macports - 也许值得进行更新......

或者你可以尝试在最近的* nix系统上安装 - 这可能有用,因此确认它是一个环境问题。

github page开始,有一些关于如何使用旧卷曲的笔记......

祝你好运,克里斯

答案 3 :(得分:2)

它的libcurl问题,因为typhoeus需要头部和东西来编译。它有问题。

libcurl-dev或libcurl3-dev安装?