我正在使用 Chef 部署我的 Rails 应用程序。尽管
宝石安装 mysql
我收到以下错误,
Gem::Installer::ExtensionBuildError: 错误: 无法构建 gem 原生扩展。
/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-config /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb: 381:在
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
/opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb 中的 try_link0中:476:在 /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb 中的try_link' from /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:619:in
try_func 中: 894:inblock in have_func' from /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:790:in
block in checks_for' from /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:284:inblock (2 levels) in postpone' from /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:254:in
open' 来自/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' 来自 /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
来自 /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:893:in 的检查_forhave_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
还是行不通。谁能帮我吗。
谢谢