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 中.以及最新的 ruby​​gems 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].

保存我隐藏的文章是 这里.

The article that saved my hide is here.

这是修改后的解决方案(注意我使用的是 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 原生扩展(找不到头文件)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)
SQL/MySQL: split a quantity value into multiple rows by date(SQL/MySQL:按日期将数量值拆分为多行)