我使用Fedora 14和MySQL和MySQL服务器5.1.42安装和运行。 现在我试着以根用户的身份做这个:

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。


当前回答

红帽子、软呢帽:

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

Debian, Ubuntu:

apt-get install libmysqlclient-dev ruby-dev
gem install mysql

Arch Linux:

pacman -S libmariadbclient
gem install mysql

其他回答

这篇文章帮助了我。非常感谢。

我需要在Linux (Ubuntu 12.10)上运行

sudo apt-get install ruby
sudo apt-get install rubygems
sudo apt-get install ruby-dev

在我成功地跑起来之前

sudo gem install jekyll

看来

yum install ruby-devel

够我表演了吗

gem install datamapper

之后。

你可能需要安装另一个包:

yum install gcc gcc-c++

能够构建本地扩展

红帽子、软呢帽:

sudo dnf -y install gcc-c++ redhat-rpm-config ruby-devel gcc mysql-devel rubygems

我最初的解决方案是通过安装ruby-devel、patch和rubygems来解决上述错误。

我的问题有点不同,因为bcrypt 3.1.11在Fedora 23上仍然存在编译和安装问题。我需要额外的包裹。所以在确保我安装了上述内容后,我仍然遇到了一些问题:

gcc: error: conftest.c:没有这样的文件或目录

gcc: error: /usr/lib/rpm/redhat/redhat-harden -cc1:没有这样的文件或目录

从这里我必须做以下事情:

我确保我不缺少任何C编译器工具sudo dnf组安装“C开发工具和库” 然后我运行sudo dnf install redhat-rpm-config来解决上面列出的gcc问题。

你可以在这里找到一篇关于Fedore项目的文章。你也可以找到其他需求的答案。

只需要在path中添加ruby.h文件的路径 例如:

export PATH=$PATH:/usr/src/ruby-xxxxxx