gem install typhoeus - не удалось создать расширение gem - PullRequest
4 голосов
/ 18 января 2011

Я получаю сообщение об ошибке при попытке установить гем под названием typhoeus (это используется в следующей книге «Сервис-ориентированное проектирование с 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

Я использую rvm с ruby-1.8.7-p302 в OS X Snow Leopard с последними инструментами XCode.

Из поисков вокруг я попытался сделать разные вещи, такие как попытка установить гем под другими версиями ruby ​​(ree-1.8.7-2010.02, ruby-1.9.2-head и system ruby), для передачи флагов архитектуры (x86_64 или i386) для аргумента ARCHFLAGS и т. д.

Я новичок в ruby, поэтому любая помощь будет принята с благодарностью, спасибо!

Ответы [ 4 ]

19 голосов
/ 15 апреля 2011

Не уверен, что это так же на Mac, но у меня была та же проблема с Ubuntu.

sudo apt-get install curl  

sudo apt-get install libcurl3 libcurl3-dev

sudo gem install typhoeus 

у меня сработало, но только после установки библиотек libcurl

Спасибо.

9 голосов
/ 03 февраля 2012

Вам на самом деле нужен только libcurl3-dev:

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

Должно работать нормально.

2 голосов
/ 20 января 2011

проблема с libcurl, так как typhoeus нужен заголовок и материал для компиляции. и у него проблемы.

libcurl-dev ИЛИ libcurl3-dev установлен?

2 голосов
/ 18 января 2011

Не уверен, но похоже, что ваша система не совсем так, как ожидает источник самоцвета.

Поскольку он использует curl и из этой старой проблемы , я думаю, что ваш curl нуждается в обновлении.

Это система, установленная curl, или вы используете macports - возможно, стоит обновить ...

В качестве альтернативы вы можете попробовать установить последнюю установленную систему * nix - это может сработать и, таким образом, подтвердить проблему с окружающей средой.

На странице github есть некоторые заметки о том, как использовать его со старым завитком ...

Удачи, Крис

...