我在尝试安装名为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)等。
我是红宝石的新手所以非常感谢任何帮助,谢谢!
答案 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安装?