gem安装失败,无法建立gem本地扩展(找不到头文件)

我使用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。

249146 次浏览

红帽子、软呢帽:

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

我找到了解决办法。

# yum install mysql-devel gcc make
# gem install mysql -- --with-mysql-config=/usr/bin/mysql_config

对于那些可能对公认的答案感到困惑的人,就像我一样,你还需要安装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版本)

看来

yum install ruby-devel

够我表演了吗

gem install datamapper

之后。

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

yum install gcc gcc-c++

能够构建本地扩展

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

导出路径= $路径:/ usr / src / ruby-xxxxxx

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

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

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

在我成功地跑起来之前

sudo gem install jekyll

对于在2015年阅读这篇文章的人:如果你碰巧安装了ruby2.0包,你需要安装匹配的ruby2.0-dev来获得适当的Ruby头文件。ruby2.1ruby2.2等也是如此。例如:

$ sudo apt-get install ruby2.2-dev
当xcode工具没有正确安装时,MAC用户可能会遇到这个问题。 下面是消除该问题的命令
xcode-select --install

红帽子、软呢帽:

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

我最初的解决方案是通过安装ruby-develpatchrubygems来解决上述错误。

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

gcc: error: conftest.c: No such file or directory

gcc: error: /usr/lib/rpm/redhat/redhat-hardened-cc1: No such file or directory

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

  • 我确保我不缺少任何C编译器工具sudo dnf group install "C Development Tools and Libraries"

  • 然后我运行sudo dnf install redhat-rpm-config来解决上面列出的gcc问题。

你可以在Fedore项目上找到一个写。你也可以找到其他需求的答案。

在openSUSE:

zypper in ruby-devel

对我有用:)

如果你已经安装了gem和ruby,但不能安装rails,那么请安装ruby dev lib。

sudo apt-get install ruby-dev

这对我很管用。我尝试过不同的解决方法。

sudo apt-get install ruby-dev

这个命令为我解决了问题!

必须安装redhat-rpm-config。我想它能解决你的问题!

对于那些仍然遇到问题的人,就像我一样(我使用的是Ubuntu 16.04),我必须输入以下命令来安装bcrypt、pg和其他一些gem。除了一个以外,它们都与上面的相似。

sudo apt-get install ruby-dev -y
sudo apt-get install libpq-dev -y
sudo apt-get install libmysqlclient-dev
sudo apt-get install build-essential patch -y

这允许我安装宝石,如PG, bcrypt和recaptcha。

这招对我很管用:

yum -y install gcc mysql-devel ruby-devel rubygems

您需要安装以下软件包:

  • ruby-dev

  • 海湾合作委员会

  • libffi-dev

  • 使

下面是debian发行版的命令:

 sudo apt install gcc ruby-dev rubygems libgmp-dev libgmp3-dev make

你可能把RVM搞砸了。

试着去做:

\curl -sSL https://get.rvm.io | bash -s stable --rails