49

我的 Rails 是3.2.1.4,Ruby 是1.9.3p448

安装时出现错误ruby-debug

Building native extensions.  This could take a while...
ERROR:  Error installing ruby-debug:
        ERROR: Failed to build gem native extension.

    /home/hxh/.rvm/rubies/ruby-1.9.3-p448/bin/ruby extconf.rb
Can't handle 1.9.x yet
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/home/hxh/.rvm/rubies/ruby-1.9.3-p448/bin/ruby


Gem files will remain installed in /home/hxh/.rvm/gems/ruby-1.9.3-p448/gems/linecache-0.46 for inspection.
Results logged to /home/hxh/.rvm/gems/ruby-1.9.3-p448/gems/linecache-0.46/ext/gem_make.out

谁能告诉我错误在哪里?

4

14 回答 14

21

错误在 mkmf.log 文件中。该文件应位于/home/hxh/.rvm/gems/ruby-1.9.3-p448/gems/linecache-0.46/ext/linecache/mkmf.log.

如果没有,您可以使用

sudo find / -name mkmf.log

找到它。

要进一步排除故障,请参阅“如何使用 mkmf.log 安装 Nokogiri Ruby gem,说找不到 libiconv?

于 2013-12-06T22:03:30.187 回答
18

您很可能缺少一些文件头(例如 zlib 或 libiconv),因此请尝试安装它们。

Linux:sudo apt-get install libz-dev libiconv-hook1 libiconv-hook-dev

操作系统:brew install libiconv && xcode-select --install

否则,请检查您的mkmf.log文件以获取更具体的详细信息。

于 2016-07-09T01:15:04.637 回答
18

我正在使用 Mac El Capitan。就我而言,这是由于缺少开发人员工具造成的。我通过安装开发者工具解决了这个问题xcode-select --install。之后捆绑安装再次正常工作。

于 2016-03-10T03:57:30.200 回答
6

这似乎是 gcc 许可的问题.. 但是,如果您使用的是 OS X,如果您更新了 XCode 但尚未同意他们的条款和条件,则可能会遇到此问题.. 尝试gcc输入如果你同意,你的终端会告诉你什么。

于 2015-09-28T13:47:24.833 回答
5

我在运行 MacOS Big Sur 11.1 版和 Xcode 12.4 版(12D4e)时遇到了同样的问题。在我的例子中,Xcode 中没有选择命令行工具。

我只是按照以下步骤解决问题:

  1. 启动 Xcode。
  2. 使用打开首选项⌘</kbd>+,.
  3. 选择位置选项卡。
  4. 选择命令行工具(在我的例子中是 Xcode 12.4 12D4E)。
  5. 运行sudo gem install cocoapods(在我的情况下)。

在此处输入图像描述

于 2021-01-29T12:30:33.787 回答
4

我的 mkmf.log 显示 gcc(我认为是 4.8.2)不喜欢 atomic on 使用的特定参数

$ gem install atomic

所以我有一个非常相似的情况。我的答案是升级 gcc/gcc-libs 和 lib 工具。

我使用 Arch linux,而且只有 Arch linux。正确的方法是运行

$ sudo pacman -Syu

升级所有系统包。

我安装了 Rails 并且从那以后没有运行系统更新,这就是问题所在。在大多数其他 *nix 发行版中,您将按名称更新到这些软件包的最新版本,即使用 apt,它会类似于以下内容

$ sudo apt-get update

其次是

$ sudo apt-get upgrade {package-name}
于 2014-11-11T17:00:45.583 回答
4

对于它的价值,使用 Ruby 2.0.0 我在 OSX 10.10 上遇到了这个问题。

我最终运行brew update,这解决了一些冲突,然后安装了 gem,它很好。

于 2014-12-02T16:34:50.057 回答
4

当我尝试安装 rails 时, kenorb的答案在 Ubuntu 16.04 上为我工作!谢谢!我按照以下步骤安装导轨:

  1. sudo apt-get install ruby​​-full
  2. sudo apt-get install libz-dev libiconv-hook1 libiconv-hook-dev
  3. 须藤宝石安装导轨
于 2016-11-13T03:03:13.047 回答
2

我遇到了问题,因为gcc在我的机器上不可用。

通过安装修复它gcc

sudo apt install build-essential
于 2020-06-06T11:09:38.703 回答
1

这对我有用。Nokogiri是问题所在。

如果您使用的是 Alpine-Linux(或您的操作系统的等效命令),请尝试以下操作:

apk add build-base

然后使用以下命令安装 Nokogiri:

gem install nokogiri -- --without-pkg-config --with-libxml-2.0-config
于 2020-07-30T14:50:21.830 回答
0

这可能是因为您的计算机有旧版本的 Ruby,所以首先更新 Ruby。这适用于 Ruby 2.6.3+。

打开终端并输入:

curl -L https://get.rvm.io | bash -s stable

然后:

rvm install ruby-2.6

如果尚未安装 Ruby,这将为您安装 Ruby,然后将 Ruby 更新到新版本:

rvm use ruby-2.6.3

这可能会解决您的问题。您现在可以输入:

sudo gem install cocoapods
pod setup

如果您的系统中未安装 RVM,请使用:

$HOME/.rvm/scripts/rvm
rvm
于 2021-02-26T12:19:12.550 回答
-1

下一个命令解决了这个问题:sudo apt install build-essential

于 2020-12-11T12:30:29.720 回答
-1

安装 RVM 并使用它来安装 Ruby 2.6.x:

curl -sSL https://get.rvm.io | bash
rvm install 2.6.x
rvm use ruby-2.6.x

现在尝试它应该可以工作:

sudo gem install cocoapods
于 2021-12-08T21:39:25.543 回答
-1

这对我有用:

sudo apt-get install libmysqlclient-dev
于 2022-01-25T13:40:49.747 回答