所以我正在尝试安装
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更少的东西. “.