一尘不染

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

mysql

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

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。


阅读 356

收藏
2020-05-17

共1个答案

一尘不染

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

保存我的皮革的文章在这里

这是经过修订的解决方案(请注意,我使用的是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开发头文件:

sudo apt-get install ruby-dev

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

sudo apt-get install ruby-all-dev

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

sudo apt-get install ruby2.2-dev

(其中2.2是您所需的Ruby版本)

2020-05-17