小编典典

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

all

我正在使用 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 中。和最新的 ruby​​gems 1.3.7。


阅读 96

收藏
2022-03-30

共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 版本)

2022-03-30