Ruby on rails 使用';将Rails应用程序部署到Ubuntu时出错;宝石独角兽';归档

Ruby on rails 使用';将Rails应用程序部署到Ubuntu时出错;宝石独角兽';归档,ruby-on-rails,ubuntu,nginx,unicorn,Ruby On Rails,Ubuntu,Nginx,Unicorn,我正在Ubuntu上部署Rails 3.2.8应用程序。服务器已经使用Unicorn和Nginx运行应用程序。 unicorn-v返回unicorn v4.4.0 Adn rvm gem列表显示: 独角兽(4.4.0) 然而,当我手动运行“gem install unicorn”4.4.0时,它失败了,原因如下。你知道为什么吗 Installing unicorn (4.4.0) ** [out :: mydomain.net] with native extensions ** [out

我正在Ubuntu上部署Rails 3.2.8应用程序。服务器已经使用Unicorn和Nginx运行应用程序。 unicorn-v返回unicorn v4.4.0

Adn rvm gem列表显示: 独角兽(4.4.0)

然而,当我手动运行“gem install unicorn”4.4.0时,它失败了,原因如下。你知道为什么吗

Installing unicorn (4.4.0)
 ** [out :: mydomain.net] with native extensions
 ** [out :: mydomain.net] 
 ** [out :: mydomain.net] Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
 ** [out :: mydomain.net] 
 ** [out :: mydomain.net] /home/eg/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
 ** [out :: mydomain.net] checking for SIZEOF_OFF_T in ruby.h... *** extconf.rb failed ***
 ** [out :: mydomain.net] Could not create Makefile due to some reason, probably lack of
 ** [out :: mydomain.net] necessary libraries and/or headers.  Check the mkmf.log file for more
 ** [out :: mydomain.net] details.  You may need configuration options.
 ** [out :: mydomain.net] 
 ** [out :: mydomain.net] Provided configuration options:
 ** [out :: mydomain.net] --with-opt-dir
 ** [out :: mydomain.net] --with-opt-include
 ** [out :: mydomain.net] --without-opt-include=${opt-dir}/include
 ** [out :: mydomain.net] --with-opt-lib
 ** [out :: mydomain.net] --without-opt-lib=${opt-dir}/lib
 ** [out :: mydomain.net] --with-make-prog
 ** [out :: mydomain.net] --without-make-prog
 ** [out :: mydomain.net] --srcdir=.
 ** [out :: mydomain.net] --curdir
 ** [out :: mydomain.net] --ruby=/home/eg/.rvm/rubies/ruby-1.9.3-p194/bin/ruby
 ** [out :: mydomain.net] /home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
 ** [out :: mydomain.net] You have to install development tools first.
 ** [out :: mydomain.net] from /home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:491:in `block in try_compile'
 ** [out :: mydomain.net] from /home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:443:in `with_werror'
 ** [out :: mydomain.net] from /home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:491:in `try_compile'
 ** [out :: mydomain.net] from /home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:686:in `macro_defined?'
 ** [out :: mydomain.net] from /home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:822:in `block in have_macro'
 ** [out :: mydomain.net] from /home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for'
 ** [out :: mydomain.net] from /home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone'
 ** [out :: mydomain.net] from /home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:254:in `open'
 ** [out :: mydomain.net] from /home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone'
 ** [out :: mydomain.net] from /home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:254:in `open'
 ** [out :: mydomain.net] from /home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:280:in `postpone'
 ** [out :: mydomain.net] from /home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for'
 ** [out :: mydomain.net] 
 ** [out :: mydomain.net] from /home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:821:in `have_macro'
 ** [out :: mydomain.net] from extconf.rb:4:in `<main>'
 ** [out :: mydomain.net] 
 ** [out :: mydomain.net] 
 ** [out :: mydomain.net] Gem files will remain installed in /rails_apps/eg/production/shared/bundle/ruby/1.9.1/gems/unicorn-4.4.0 for inspection.
 ** [out :: mydomain.net] Results logged to /rails_apps/eg/production/shared/bundle/ruby/1.9.1/gems/unicorn-4.4.0/ext/unicorn_http/gem_make.out
 ** [out :: mydomain.net] 
 ** [out :: mydomain.net] An error occurred while installing unicorn (4.4.0), and Bundler cannot continue.
 ** [out :: mydomain.net] Make sure that `gem install unicorn -v '4.4.0'` succeeds before bundling.
安装独角兽(4.4.0)
**具有本机扩展的[out::mydomain.net]
**[out::mydomain.net]
**[out::mydomain.net]Gem::Installer::ExtensionBuildError:错误:无法生成Gem本机扩展。
**[out::mydomain.net]
**[out::mydomain.net]/home/eg/.rvm/rubies/ruby-1.9.3-p194/bin/ruby-extconf.rb
**[out::mydomain.net]正在检查ruby.h中的大小extconf.rb失败***
**[out::mydomain.net]由于某些原因无法创建Makefile,可能是缺少
**[out::mydomain.net]必需的库和/或头。查看mkmf.log文件了解更多信息
**[out::mydomain.net]详细信息。您可能需要配置选项。
**[out::mydomain.net]
**[out::mydomain.net]提供了配置选项:
**[out::mydomain.net]--使用opt dir
**[out::mydomain.net]--带有opt include
**[out::mydomain.net]--不带opt include=${opt dir}/include
**[out::mydomain.net]--使用opt lib
**[out::mydomain.net]--不带opt lib=${opt dir}/lib
**[out::mydomain.net]--使用make prog
**[out::mydomain.net]--不带make prog
**[out::mydomain.net]--srcdir=。
**[out::mydomain.net]--curdir
**[out::mydomain.net]--ruby=/home/eg/.rvm/rubies/ruby-1.9.3-p194/bin/ruby
**[out::mydomain.net]/home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:381:in“try_do”:编译器无法生成可执行文件。(运行时错误)
**[out::mydomain.net]您必须首先安装开发工具。
**[out::mydomain.net]from/home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:491:in`block in try_compile'
**[out::mydomain.net]from/home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:443:in'with_werror'
**[out::mydomain.net]from/home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:491:in“try_compile”
**[out::mydomain.net]from/home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:686:in“定义了宏?”
**[out::mydomain.net]from/home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:822:in`block in have\u macro'
**[out::mydomain.net]from/home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:790:in“块入检查”
**[out::mydomain.net]from/home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:284:in `块(2层)中的延迟'
**[out::mydomain.net]from/home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:254:in'open'
**[out::mydomain.net]from/home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:284:in `块中延迟'
**[out::mydomain.net]from/home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:254:in'open'
**[out::mydomain.net]from/home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:280:in“推迟”
**[out::mydomain.net]from/home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:789:in“checking_for”
**[out::mydomain.net]
**[out::mydomain.net]from/home/eg/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:821:in ` have@u宏'
**[out::mydomain.net]来自extconf.rb:4:in`'
**[out::mydomain.net]
**[out::mydomain.net]
**[out::mydomain.net]Gem文件将继续安装在/rails_apps/eg/production/shared/bundle/ruby/1.9.1/gems/unicorn-4.4.0中以供检查。
**[out::mydomain.net]结果登录到/rails\u apps/eg/production/shared/bundle/ruby/1.9.1/gems/unicorn-4.4.0/ext/unicorn\u http/gem\u make.out
**[out::mydomain.net]
**[out::mydomain.net]安装unicorn(4.4.0)时出错,Bundler无法继续。
**[out::mydomain.net]在绑定之前,请确保'gem install unicorn-v'4.4.0'成功。
以下是我认为相关mkmf.log的内容

have_macro: checking for SIZEOF_SIZE_T in ruby.h... -------------------- yes

"gcc -I/home/evergreen/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/x86_64-linux -I/home/eg/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/backward -I/home/eg/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1 -I. -I/home/eg/.rvm/usr/include     -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration  -fPIC   -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <ruby.h>
4: /*top*/
5: #ifndef SIZEOF_SIZE_T
6: # error
7: >>>>>> SIZEOF_SIZE_T undefined <<<<<<
8: #endif
/* end */

--------------------

have_macro: checking for SIZEOF_LONG in ruby.h... -------------------- yes
have_宏:检查ruby.h中的大小对
“gcc-I/home/evergreen/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/x86_64-linux-I/home/eg/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/backward-I/home/home/eg/.rvm/usr/include-O3-ggdb-Wextra-Wno未使用参数-Wno长括号缺少Wno长括号ers-Wpointer arith-Wwrite strings-Wdeclaration after语句-Wimplicit函数声明-fPIC-c conftest.c“
检查的程序是:
/*开始*/
1:#包括“ruby.h”
2:
3:#包括
4:/*顶部*/
5:#如果不确定尺寸#如果不确定尺寸#
6:#错误

7:>>>>>>SIZEOF_SIZE\T未定义确保按照要求安装所有组件:

rvm get head
rvm requirements

确保按照以下要求安装所有组件:

rvm get head
rvm requirements

你能找到一个名为
mkmf.log
的文件并发布任何相关内容吗?我有一堆同名文件,但我刚刚添加了一个我认为与帖子相关的文件的内容。听起来像是有线行为,可能会用gmake更新编译器或自己构建gem:(我刚刚意识到已经安装了unicorn 4.4.0,这是在这个rvm gemset中运行的。太奇怪了,它不会再安装了。你能找到一个名为
mkmf.log
的文件并发布任何相关内容吗?我有一堆同名文件,但我刚刚添加了一个我认为与帖子相关的文件的内容。听起来像是有线链接。)行为可能会更新编译器或使用gmake自己构建gem:(我刚刚意识到unicorn 4.4.0已经安装,这就是在这个rvm gems集中运行的东西。太奇怪了,它不会再安装了。