Не удалось установить "gem install eventmachine". Мне нужен скворец в моем проекте, для скворца мне нужно установить eventmachine - PullRequest
17 голосов
/ 19 января 2011

Я получаю следующую ошибку на моей консоли

root@comp09:~# gem install eventmachine
Building native extensions.  This could take a while...
ERROR:  Error installing eventmachine:
 ERROR: Failed to build gem native extension.

/usr/local/bin/ruby extconf.rb
checking for rb_trap_immediate in ruby.h,rubysig.h... yes
checking for rb_thread_blocking_region()... no
checking for inotify_init() in sys/inotify.h... yes
checking for writev() in sys/uio.h... yes
checking for rb_thread_check_ints()... no
checking for rb_time_new()... yes
checking for sys/event.h... no
checking for epoll_create() in sys/epoll.h... yes
creating Makefile

make
I. -I/usr/local/lib/ruby/1.8/x86_64-linux -I/usr/local/lib/ruby/1.8/x86_64-linux -I. -DBUILD_FOR_RUBY -DHAVE_RB_TRAP_IMMEDIATE -DHAVE_RBTRAP -DHAVE_INOTIFY_INIT -DHAVE_INOTIFY -DHAVE_WRITEV -DHAVE_WRITEV -DHAVE_RB_TIME_NEW -DOS_UNIX -DHAVE_EPOLL_CREATE -DHAVE_EPOLL -DWITH_SSL    -fPIC -O2 -g -Wall -Wno-parentheses -Wno-long-long     -o rubymain.o -c rubymain.cpp
make: I.: Command not found
make: [rubymain.o] Error 127 (ignored)
I. -I/usr/local/lib/ruby/1.8/x86_64-linux -I/usr/local/lib/ruby/1.8/x86_64-linux -I. -DBUILD_FOR_RUBY -DHAVE_RB_TRAP_IMMEDIATE -DHAVE_RBTRAP -DHAVE_INOTIFY_INIT -DHAVE_INOTIFY -DHAVE_WRITEV -DHAVE_WRITEV -DHAVE_RB_TIME_NEW -DOS_UNIX -DHAVE_EPOLL_CREATE -DHAVE_EPOLL -DWITH_SSL    -fPIC -O2 -g -Wall -Wno-parentheses -Wno-long-long     -o em.o -c em.cpp
make: I.: Command not found

За любую помощь и предложение, мы будем очень признательны.

Ответы [ 7 ]

43 голосов
/ 04 декабря 2011

У меня была похожая проблема в Ubuntu 11.10 при установке eventmachine.
Разница (ближе к концу бревен)

make: g++: Command not found

вместо

make: I.: Command not found

Эта проблема связана с C ++ в GCC и решена установкой build-essential

sudo apt-get install build-essential 
5 голосов
/ 18 ноября 2011

Возможно, вам также не хватает пакетов ruby ​​dev. В зависимости от того, какую версию ruby ​​вы используете, это может быть ruby-dev, ruby1.8-dev, ruby1.9-dev или ruby1.9.1-dev. У меня была та же проблема, и я установил ruby1.9-dev и ruby1.9.1-dev, и это решило мою проблему.

Это сайт, который побудил меня попробовать этот подход: http://ruby.about.com/od/faqs/qt/Extconf-Rb-1-In-Require-No-Such-File-To-Load-Mkmf-Loaderror.htm

3 голосов
/ 25 апреля 2011

У меня была такая же проблема, вот как она была решена [ПРИМЕЧАНИЕ: я использую ubuntu, поэтому на «g ++» вы должны использовать «gcc», если вы используете любую другую ОС]:

ВСначала я клонировал репозиторий на свой локальный компьютер и внес некоторые изменения, взгляните на следующую процедуру:

git clone git://github.com/eventmachine/eventmachine.git
cd eventmachine
gem install rake-compiler
rake-compiler cross-ruby VERSION=x.x.x-px 

Вместо xxx-px вы должны использовать свою версию ruby.см. список доступных версий ruby, совместимых с rake-компилятором здесь

Затем перейдите и поместите это: CONFIG['CXX'] = "g++" в / eventmachine / ext / extconf.rb *Файлы 1012 * и / eventmachine / ext / fastfilereader / extconf.rb , прямо под строкой require 'mkmf'.затем выполните: rake gem и после этого: rake gem:install

Это сработало для меня, надеюсь, это сработает и для вас.

2 голосов
/ 21 февраля 2017

Я использую Ubuntu 16.10 sudo apt-get install ruby-dev build-essential, а затем sudo gem install eventmachine. Это решило это для меня.

1 голос
/ 01 февраля 2016

Для всех пользователей, работающих с openSUSE, вам необходимо выполнить эту команду:

zypper in -t pattern devel_C_C++ 

Для простоты мы можем сказать, что это эквивалент этой команды в Ubuntu:

sudo apt-get install build-essential 
1 голос
/ 05 декабря 2012

Не забудьте выполнить Требования к rvm и следуйте инструкциям в Дополнительные зависимости .

1 голос
/ 19 января 2011

из документов.

EventMachine может потребовать следующих зависимостей, в зависимости от вашего конкретного использования:

* OpenSSL
* libstd++ (some systems, such as debian, may require an explicit

установить, чтобы компилятор поддерживал это)

Попробуйте установить его, если вы используете debian

sudo apt-get install libstdc++6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...