gem install: 无法构建 gem 本机扩展(找不到头文件)

gem install: Failed to build gem native extension (can#39;t find header files)(gem install: 无法构建 gem 本机扩展(找不到头文件))
本文介绍了gem install: 无法构建 gem 本机扩展(找不到头文件)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我使用的是 Fedora 14,并且安装并运行了 MySQL 和 MySQL 服务器 5.1.42.现在我尝试以 root 用户身份执行此操作:

I am using Fedora 14 and I have MySQL and MySQL server 5.1.42 installed and running. Now I tried to do this as root user:

gem install mysql

但我收到此错误:

Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
    ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/ruby.h


Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

这里出了什么问题?在安装的 ruby 1.8.7 中.以及最新的 rubygems 1.3.7.

What's wrong here? In installed ruby 1.8.7. and the latest rubygems 1.3.7.

推荐答案

对于那些可能对接受的答案感到困惑的人,就像我一样,您还需要安装 ruby 标头 [ruby-devel].

For those who may be confused by the accepted answer, as I was, you also need to have the ruby headers installed [ruby-devel].

拯救我隐藏的文章是此处.

这是修改后的解决方案(请注意,我使用的是 Fedora 13):

And this is the revised solution (note that I'm on Fedora 13):

yum -y install gcc mysql-devel ruby-devel rubygems
gem install -y mysql -- --with-mysql-config=/usr/bin/mysql_config

对于 Debian 和其他使用 Debian 风格打包的发行版,ruby 开发头文件通过以下方式安装:

For Debian, and other distributions using Debian style packaging the ruby development headers are installed by:

sudo apt-get install ruby-dev

对于 Ubuntu,ruby 开发头文件通过以下方式安装:

For Ubuntu the ruby development headers are installed by:

sudo apt-get install ruby-all-dev

如果您使用的是较早版本的 ruby(例如 2.2),则需要运行:

If you are using a earlier version of ruby (such as 2.2), then you will need to run:

sudo apt-get install ruby2.2-dev

(其中 2.2 是您想要的 Ruby 版本)

(where 2.2 is your desired Ruby version)

这篇关于gem install: 无法构建 gem 本机扩展(找不到头文件)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

Can#39;t Create Entity Data Model - using MySql and EF6(无法创建实体数据模型 - 使用 MySql 和 EF6)
MySQL select with CONCAT condition(MySQL选择与CONCAT条件)
Capitalize first letter of each word, in existing table(将现有表格中每个单词的首字母大写)
How to retrieve SQL result column value using column name in Python?(如何在 Python 中使用列名检索 SQL 结果列值?)
Update row with data from another row in the same table(使用同一表中另一行的数据更新行)
Exporting results of a Mysql query to excel?(将 Mysql 查询的结果导出到 excel?)