Не удалось установить "gem install eventmachine". Мне нужен скворец в моем проекте, для скворца мне нужно установить eventmachine
Я получаю следующую ошибку на моей консоли
[email protected]:~# 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
Для любой помощи и предложения было бы очень полезно.
Ответы
Ответ 1
У меня была аналогичная проблема в Ubuntu 11.10, устанавливающая eventmachine.
Разница в том, что (ближе к концу журналов)
make: g++: Command not found
вместо
make: I.: Command not found
Эта проблема связана с С++ на GCC и разрешена путем установки build-essential
sudo apt-get install build-essential
Ответ 2
Возможно, вам также не хватает пакетов ruby dev. В зависимости от того, какую версию рубина вы используете, это может быть 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
У меня была такая же проблема, вот как ее разрешили [ПРИМЕЧАНИЕ: я использую 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
В месте x.x.x-px вы должны использовать свою рубиновую версию. см. список доступных версий ruby, которые совместимы с rake-компилятором здесь
Затем перейдите и поместите это: CONFIG['CXX'] = "g++"
в файлы /eventmachine/ext/extconf.rb и /eventmachine/ext/fastfilereader/extconf.rb, прямо ниже require 'mkmf'
.
затем выполните: rake gem
и после этого: rake gem:install
Это сработало для меня, надеюсь, что это сработает и для вас.
Ответ 4
из документов.
EventMachine может потребовать следующее зависимостей, в зависимости от вашего конкретное использование:
* OpenSSL
* libstd++ (some systems, such as debian, may require an explicit
установить, чтобы компилятор поддерживайте это)
Попробуйте установить его, если вы используете debian
sudo apt-get install libstdc++6
Ответ 5
Я использую Ubuntu 16.10 sudo apt-get install ruby-dev build-essential
, затем sudo gem install eventmachine
. Это решило это для меня.
Ответ 6
Не забудьте выполнить требования rvm и следуйте инструкциям в дополнительных зависимостях.
Ответ 7
Для всех пользователей, запускающих openSUSE, вам необходимо выполнить следующую команду:
zypper in -t pattern devel_C_C++
Для простоты можно сказать, что это эквивалент этой команды в Ubuntu:
sudo apt-get install build-essential