ruby-on-rails – 使用Bundler GEM不会安装Ruby Gem(EventMachine)

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 使用Bundler GEM不会安装Ruby Gem(EventMachine)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我正在尝试安装 GitLab,他们让我使用名为“bundler”的gem,它基本上安装了运行应用程序所需的GEM.无论如何,在运行捆绑器后使用:
sudo -u git -H bundle install --deployment --without development test MysqL aws

这将完美安装一吨宝石然后大约2分钟进入安装我将在终端中收到以下错误.

Ruby版本:来自SVN的最新版本(我已经检查过并且很好)

操作系统:Ubuntu 14.04 LTS(Trusty)

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

/usr/local/bin/ruby extconf.rb
checking for rb_trap_immediate in ruby.h,rubysig.h... no
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_wait_for_single_fd()... yes
checking for rb_enable_interrupt()... 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 "DESTDIR=" clean

make "DESTDIR="
compiling ssl.cpp
compiling em.cpp
em.cpp: In member function ‘void EventMachine_t::_RunEpollOnce()’:
em.cpp:574:37: error: ‘rb_thread_select’ was not declared in this scope
    EmSelect (0,NULL,&tv);
                                 ^
em.cpp: In member function ‘int SelectData_t::_Select()’:
em.cpp:827:67: error: ‘rb_thread_select’ was not declared in this scope
  return EmSelect (maxsocket+1,&fdreads,&fdwrites,&fderrors,&tv);
                                                               ^
em.cpp: In member function ‘void EventMachine_t::_RunSelectOnce()’:
em.cpp:946:40: error: ‘rb_thread_select’ was not declared in this scope
  EmSelect (0,&tv);
                                    ^
make: *** [em.o] Error 1

make Failed,exit code 2

Gem files will remain installed in         /home/git/gitlab/vendor/bundle/ruby/2.2.0/gems/eventmachine-1.0.3 for inspection.

Results logged to /home/git/gitlab/vendor/bundle/ruby/2.2.0/extensions/x86_64-linux/2.2.0-static/eventmachine-1.0.3/gem_make.out

An error occurred while installing eventmachine (1.0.3),and Bundler cannot continue.
Make sure that `gem install eventmachine -v '1.0.3'` succeeds before bundling.

解决方法

这可能只是ruby 2.2中的一个问题所以你可能会尝试使用2.1作为“他们开始使用Ruby 2.2的那一刻,他们弃用了一堆库并将readline升级到更新的版本.当他们这样做时,它打破了比Ruby 2.2更少的东西. “.

见:https://github.com/eventmachine/eventmachine/issues/509

猜你在找的Ruby相关文章