我正在使用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:intry_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:inblock 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:inblock 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:inpostpone' 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:inhave_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
仍然无法正常工作。任何人都可以帮助我。
谢谢
答案 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的相同问题