Rails上的MySQL Gem安装错误

时间:2013-08-21 20:42:21

标签: mysql ruby-on-rails ruby gem chef

我正在使用Chef部署我的Rails应用程序。而

  

gem install mysql

我遇到了错误,

  

Gem :: Installer :: ExtensionBuildError:错误:无法构建gem native   扩展

     

/ opt / chef / embedded / bin / ruby​​ extconf.rb检查   mysql_ssl_set()... * extconf.rb失败* 无法创建Makefile   由于某种原因,可能缺乏必要的库和/或   头。检查mkmf.log文件以获取更多详细信息。你可能需要   配置选项。

     

提供配置选项: - with-opt-dir --with-opt-include     --without-opt-include = $ {opt-dir} / include --with-opt-lib     --without-opt-lib = $ {opt-dir} / lib --with-make-prog     --without-make-prog --srcdir =。 --curdir     --ruby = / opt / chef / embedded / bin / ruby​​ --with-mysql-config     --without-mysql的,配置   /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:381:in try_do': The compiler failed to generate an executable file. (RuntimeError) You have to install development tools first. from /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:461:in try_link0'来自   /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:476:in try_link' from /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:619:in try_func'来自   /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:894:in block in have_func' from /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:790:in阻止   来自/opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:284:in的checking_for'   block (2 levels) in postpone' from /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:254:in打开'来自   /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:284:in block in postpone' from /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:254:in open'from   /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:280:in postpone' from /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:789:in checking_for'来自   /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:893:in have_func' from extconf.rb:45:in'

     

Gem文件将保持安装状态   /var/www/project-name/releases/daf93f4783a7238e5a8198c1fd50e4e1de93f654/vendor/bundle/ruby/1.9.1/gems/mysql-2.9.1   检查。记录结果   /var/www/project-name/releases/daf93f4783a7238e5a8198c1fd50e4e1de93f654/vendor/bundle/ruby/1.9.1/gems/mysql-2.9.1/ext/mysql_api/gem_make.out   安装mysql(2.9.1)时出错,而Bundler不能   继续。确保gem install mysql -v '2.9.1'成功   在捆绑之前。

我正在使用RHEL 6.我还有一个单独的mysql安装手册。我尝试使用yum命令手动安装Mysql。

我试过

  

yum install mysql-devel然后运行gem install mysql

仍然无法正常工作。任何人都可以帮助我。

谢谢

2 个答案:

答案 0 :(得分:2)

听起来你没有编译器。在debian / ubuntu系统上,您可以获得编译和构建包所需的一切:

sudo apt-get install build-essential

在Fedora / Red Hat上我认为它应该是:

sudo yum groupinstall "Development Tools"

答案 1 :(得分:1)

build-essentials食谱添加到您的运行列表并配置它的“compiletime”属性。

以下答案报告构建postgres gem的相同问题