32

我需要安装 JSON gem 来启动我的应用程序,但是每当我尝试安装 json gem 时都会收到以下错误。谁能帮我吗。我正在使用 rails 2.2.2 和 gems 1.3.1。

Arions-macbook-pro:.ssh arion$ sudo gem install json
Password:
Sorry, try again.
Password:
Building native extensions.  This could take a while...
ERROR:  Error installing json:
    ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb install json
can't find header files for ruby.


Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/json-1.1.4 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/json-1.1.4/ext/json/ext/parser/gem_make.out
4

10 回答 10

22

使用 Mavericks,您可以通过从命令行安装 Xcode 命令行工具来解决此问题,如下所示:

xcode-select --install

更新:安装或更新后不要忘记接受许可协议:

sudo xcodebuild -license

于 2013-10-23T03:36:29.780 回答
13

如果你有这个问题:

ERROR:  Error installing json:
ERROR: Failed to build gem native extension.

并且您使用的是带有 OS X 的 Mac(使用 10.8.1 Mountain Lion 测试),您需要从 Mac App Store 下载 Xcode(或者如果您有开发帐户,则从 developer.apple.com 下载 - 这是免费的顺便说一句,您可以下载 DMG 安装程序)

最新的 Xcode 版本(我使用的是 Xcode 4.4.1)不包括命令行工具。现在你需要在 Xcode 中安装这个额外的包。完成后,您的问题就解决了。

为此,请打开 Xcode,转到 Preferences > Downloads > Components。安装“命令行工具”。你完成了。现在您可以安装 json Ruby gem。

在此处输入图像描述

于 2012-09-06T06:26:38.177 回答
9

您缺少 ruby​​ 开发标头。要将这些安装在像 ubuntu 这样的操作系统上,您应该使用:

aptitude install ruby1.8-dev
于 2009-04-17T18:05:43.237 回答
4

ruby 头文件不随 Mac OS X 的基本 ruby​​ 安装一起安装。这些可以通过安装 XCode 工具在 Mac OS X 安装光盘 2 上找到。

安装后,一切正常!

更新至少从 OS X 10.7.3 开始,这不再是问题,它“正常工作”

MacBook-Pro:tmp$ sudo gem install json
Password:
Building native extensions.  This could take a while...
Successfully installed json-1.6.5
1 gem installed
Installing ri documentation for json-1.6.5...
Installing RDoc documentation for json-1.6.5...
MacBook-Pro:tmp$ uname -a
于 2009-04-17T18:59:55.307 回答
3

安装 Xcode 命令行工具...应该可以解决这个问题。

于 2009-04-17T19:04:00.553 回答
2

一个简单的谷歌搜索揭示了这一点:

如果在尝试构建扩展或 gem 时收到 can't find header files for ruby​​ 错误消息,这意味着 Ruby 无法找到其头文件。

Mac OS X 默认不提供头文件,安装后需要安装 Xcode Tools 包。您可以在 Leopard DVD 上的 Optional Installs / Xcode Tools 目录中找到它。

于 2009-04-17T21:58:08.903 回答
2

事实证明,某些 gem 需要一些 ruby​​ 头文件才能正确安装。这些头文件随 Lion (OSX 10.7) 一起提供。

事实证明,Xcode 4(最新版本)也没有安装这些头文件。我试过这个。

解决方案 -假设您在 Mac OS X 上(您似乎基于终端输出)。为了让它工作,我从以下页面安装了 gcc和一些开发者工具

您现在应该可以使用gem install或安装 gem bundle install

开销如果您担心它附带的其他垃圾,这里有一个摘要。

  • gcc- 有用
  • make- 有用
  • clang- 对 ObjectiveC 有用
  • 开发人员 CLI 工具(清除等)- 有用吗?
  • DevSDK(标头等) -你需要什么
于 2012-02-27T07:48:43.607 回答
0

如果您使用自制软件,请运行brew doctor. 您可能会发现编译所需的 gcc 库已过时和/或丢失。

Warning: No compiler found in /usr/bin!
Warning: Your Xcode (4.2) is outdated

checking for gcc... /Developer/usr/bin/llvm-gcc
checking whether the C compiler works... no
configure: error: in `/private/tmp/freexl-apNF/freexl-1.0.0d':
configure: error: C compiler cannot create executables

对于 Lion 和 Mountain Lion 用户,Apple 现在提供了一个官方的 Xcode 命令行工具包,您无需安装 Xcode 即可安装它!您可以从 Apple 的开发者网站https://developer.apple.com/downloads/index.action下载它。如果您仍然需要 gcc-4.2,并且使用 Homebrew,则可以使用 homebrew/dupes 中的 apple-gcc42 软件包安装它。

于 2013-01-08T06:49:33.263 回答
-1

我有同样的问题。

这是我的冒险经历(希望对您有用):

为了修复它,我做了很多操作:-)

我正在使用 Fedora Core。我已经这样解决了:

我已经安装了 rails-devel:

sudo yum install rails-devel

再次尝试:

须藤宝石安装导轨

但我还有另一个问题:

构建原生扩展。这可能需要一段时间... 错误:安装 rails 时出错:错误:无法构建 gem 原生扩展。

    /usr/bin/ruby extconf.rb creating Makefile

制作 gcc -I。-I/usr/lib/ruby/1.8/i386-linux -I/usr/lib/ruby/1.8/i386-linux -I. -D_FILE_OFFSET_BITS=64 -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous -unwind-tables -fno-strict-aliasing -fPIC -O3 -Wall -c parser.c make: gcc: Command not found

所以我安装了 GCC:

须藤百胜安装 gcc

再次尝试:

须藤宝石安装导轨

现在我有另一个问题))):

正在为 json-1.6.3 安装 ri 文档...错误:为 json-1.6.3 生成文档时...消息:没有要加载的文件 -- irb/slex ... RDOC 参数:--ri --op /usr/lib/ruby/gems/1.8/doc/json-1.6.3/ri --title JSON 实现 Ruby --main README.rdoc ext/json/ext ext lib README.rdoc --title json-1.6。 3 文档——安静

所以安装了ruby-irb:

sudo yum 安装 ruby​​-irb

再次尝试:

须藤宝石安装导轨

成功安装rails-3.1.3

就这样 )))

于 2011-12-03T21:38:00.147 回答
-1

这是我的解决方案:

rvm gem 安装 json -v=xxx

我的设置:

OSX 狮子
红宝石-1.9.3
转速
gcc-4.2 #=> 老实说没有看到它被使用过
于 2012-11-12T20:42:31.613 回答