当我尝试sudo gem install json时,我收到以下错误

我需要安装JSON gem来启动我的应用程序,但每当我尝试安装json gem时,我都会收到错误。 谁能帮我吗。 我正在使用rails 2.2.2和gem 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 

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

xcode-select --install

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

sudo xcodebuild -license

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

 aptitude install ruby1.8-dev 

如果你有这个问题:

 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下载 – 它是免费的BTW,你可以下载DMG安装程序)

最新的Xcode版本(我使用的是Xcode 4.4.1)不包含命令行工具。 现在您需要在Xcode中安装此附加软件包。 完成后,您的问题就解决了。

为此,请打开Xcode,转到“首选项”>“下载”>“组件”。 安装“命令行工具”。 你完成了。 现在你可以安装json Ruby gem了。

在此处输入图像描述

使用Mac OS X的基础ruby安装不会安装ruby标头。可以通过安装XCode Tools在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 

安装Xcode命令行工具……应解决此问题。

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

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

解决方案 –假设您使用的是Mac OS X(您似乎基于终端输出)。 为了使其正常工作,我使用以下页面中的一些开发人员工具安装了gcc

  • 访问https://github.com/kennethreitz/osx-gcc-installer
  • 向下滚动到README并下载相应的软件包(适用于OSX 10.7或10.6)
  • 打开.pkg文件并运行安装程序。

您现在应该可以使用gem installbundle install gem install

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

  • gcc – 很有用
  • make – 有用
  • clang – 对ObjectiveC很有用
  • 开发人员CLI工具(清除等) – 有用吗?
  • DevSDK(标题等) – 你需要什么

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

如果在尝试构建扩展或gem时遇到无法找到ruby错误消息的头文件,则意味着Ruby无法找到其头文件。

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

如果你使用自制软件,请运行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软件包进行安装。

我有同样的问题。

这是我的冒险经历(希望它会有用):

为了解决这个问题,我做了很多操作:-)

我正在使用Fedora Core。 我用这种方式修复了它:

我已经安装了rails-devel:

sudo yum安装rails-devel

再试一次:

sudo gem install rails

但我还有另一个问题:

构建原生扩展。 这可能需要一段时间…错误:安装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:找不到命令

所以我安装了GCC:

sudo yum安装gcc

再试一次:

sudo gem install rails

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

为json-1.6.3安装ri文档…错误:为json-1.6.3生成文档… MESSAGE:没有这样的文件要加载 – irb / slex … RDOC args:–ri –op /usr/lib/ruby/gems/1.8/doc/json-1.6.3/ri –title Ruby的JSON实现 – 主要README.rdoc ext / json / ext ext lib README.rdoc –title json-1.6。 3文档 – 安静

所以安装了ruby-irb:

sudo yum install ruby​​-irb

再试一次:

sudo gem install rails

已成功安装rails-3.1.3

就这样 )))

这是我的解决方案:

  rvm gem install json -v = xxx 

我的设置:

 OSX Lion
ruby1.9.3
 RVM
 gcc-4.2#=>老实说没有看到它被使用过