ChatGPT解决这个技术问题 Extra ChatGPT

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

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

只是一个快速的猜测:你有 MySQL 的 dev 文件头吗
我怎样才能得到这些开发文件头?
我在 Ubuntu 中执行以下操作: apt-get install ruby-dev rubygems gem install mysql -- with-mysql-config=/usr/bin/mysql_config 一切正常。

Q
Quinn Carver

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

保存我隐藏的文章是 here

这是修改后的解决方案(注意我在 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 版本)


@NoBugs 感谢您提供更多信息:)
当我在尝试使用 ruby on rails 创建应用程序时遇到问题时,这很有效。它抱怨它如何无法安装 json 并且 bundler 无法继续。安装 ruby-devel 有效。
除了上面@NoBugs 发布的 ruby-dev 之外,我还需要 Ubuntu (12.04) 上的 libmysqlcient-dev。 (或者,请参见下面 Damian Nowak 的 Debian/Ubuntu 回答。)
当我在安装 jekyll 时遇到问题时,在 RHEL6 上为我工作。
这帮助我安装了 fpm,可能有助于安装任何基于 ruby 的软件。我使用了 yum -y install gcc ruby-devel rubygems
N
Nowaker

红帽,Fedora:

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

是这个吗? mysql-devel.i686 :用于开发 MySQL 应用程序的文件
肯定需要 mysql-devel 。问题是除此之外还需要什么。也许试试这个:fedora-tunisia.org/?q=node/44让我知道它是否有效。
我在这里遇到了这个问题:stackoverflow.com/questions/6297751/…很好的解决方案!
您所说的内容是必需的,但修复有问题的错误消息需要 ruby-devel。
RedHat 系统上的 BTW 是 ruby-devel
D
Dror S.

对于 2015 年阅读本文的任何人:如果您碰巧安装了包 ruby2.0,则需要安装匹配的 ruby2.0-dev 以获取适当的 Ruby 标头。 ruby2.1ruby2.2 等也是如此。例如:

$ sudo apt-get install ruby2.2-dev

在 Fedora 22 上:sudo dnf install ruby-devel
谢谢!红宝石有时很奇怪。
红宝石 2.3 也是如此。
a
andrej

似乎

yum install ruby-devel

足以让我表演

gem install datamapper

然后。

您可能需要安装其他软件包:

yum install gcc gcc-c++

能够构建原生扩展


我收到了一个非常奇怪的错误,没有明确的消息,这是因为没有安装 gcc 包。 :(这篇文章让我想起了这个基本步骤。;P
A
Ajit Singh

当 xcode 工具未正确安装时,MAC 用户可能会遇到此问题。以下是解决此问题的命令。

xcode-select --install

是的,这就是问题所在。非常感谢!
然后这个sudo gem install -n /usr/local/bin cocoapods thumbsup
D
Darshana

我找到了解决方案 here

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

B
Brian

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

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

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

在我成功运行之前

sudo gem install jekyll

R
RonU

如果您安装了 gem 和 ruby 并且无法安装 rails,则安装 ruby dev lib。

sudo apt-get install ruby-dev

这个对我有用。我尝试了不同的解决方案。


我有 Ubuntu 16.04LTS。我认为,其他以前的版本也是如此。
m
mkungla

红帽,Fedora:

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

M
Mike

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

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 这样的 gem。


A
Andrew Lobban

我最初的解决方案是通过安装 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 Project 上找到一篇文章。您还可以找到其他需求的答案。


V
Viduni Wickramarachchi
sudo apt-get install ruby-dev

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


r
rmpestano

您需要安装以下软件包:

红宝石开发

海合会

libffi开发

制作

这是 debian 发行版的命令:

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

R
Raul Libório

在 openSUSE 中:

zypper in ruby-devel

对我有用:)


a
alvescleiton

需要安装 redhat-rpm-config 到。我想它可以解决你的问题!


E
Evan Darwin

这对我有用:

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

ס
סטנלי גרונן

你可能搞砸了 RVM。

试着做:

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

M
Mareg

只需在我的 PATH 中添加 ruby.h 文件的路径,例如:

导出 PATH=$PATH:/usr/src/ruby-xxxxxx


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅