我需要安装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
答案 0 :(得分:20)
使用Mavericks,您可以通过命令行安装Xcode命令行工具来解决此问题,如下所示:
xcode-select --install
更新: 安装或更新后,请不要忘记接受许可协议:
sudo xcodebuild -license
答案 1 :(得分:13)
您缺少ruby开发标题。要在像ubuntu这样的操作系统上安装它们,你应该使用:
aptitude install ruby1.8-dev
答案 2 :(得分: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下载 - 它是免费的BTW你可以下载DMG安装程序)
最新的Xcode版本(我使用的是Xcode 4.4.1)不包含命令行工具。现在您需要在Xcode中安装此附加软件包。完成后,问题就解决了。
要做到这一点,请打开Xcode,转到首选项>下载>组件。安装“命令行工具”。你完成了。现在你可以安装json Ruby gem了。
答案 3 :(得分:4)
使用Mac OS X安装基础ruby时,不会安装ruby标头。可以通过安装XCode Tools在Mac OS X安装光盘2上找到这些标题。
安装完毕后,一切都很顺利!
UPDATE 至少从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
答案 4 :(得分:3)
安装Xcode命令行工具......应解决此问题。
答案 5 :(得分:2)
一个简单的google search揭示了这一点:
如果在尝试构建扩展或gem时遇到无法找到ruby错误消息的头文件,则表示Ruby无法找到其头文件。
默认情况下,Mac OS X不提供头文件,您需要在安装后安装Xcode Tools软件包。您可以在Leopard DVD上的Optional Installs / Xcode Tools目录中找到它。
答案 6 :(得分:2)
事实证明某些宝石需要一些ruby头文件才能正确安装。这些头文件 不附带Lion(OSX 10.7)。
事实证明,Xcode 4(最新版本)也没有安装这些头文件。我试过这个。
解决方案 - 假设您使用的是Mac OS X(您似乎基于终端输出)。为了使其正常工作,我在下一页
中安装了一些开发人员工具的gcc.pkg
文件并运行安装程序。您应该可以使用gem install
或bundle install
安装宝石。
开销如果你担心这附带的其他垃圾,这里有一个摘要。
gcc
- 有用make
- 有用clang
- 对ObjectiveC 答案 7 :(得分: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软件包进行安装。
答案 8 :(得分:-1)
我遇到了同样的问题。
这是我的冒险经历(希望它会有用):
为了解决这个问题,我做了很多操作: - )
我正在使用Fedora Core。 我用这种方式解决了这个问题:
我已经安装了rails-devel:
sudo yum install rails-devel
再次尝试:
sudo gem install rails
但我还有另一个问题:
构建原生扩展。这可能需要一段时间...错误:错误 安装rails:错误:无法构建gem原生扩展。
/usr/bin/ruby extconf.rb creating Makefile
制作gcc -I。 -I / usr / lib中/红宝石/ 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保护器--param = SSP-缓冲器大小= 4 -m32 -march = i686的-mtune =原子-fasynchronous -unwind-tables -fno-strict-aliasing -fPIC -O3 -Wall -c parser.c make:gcc:找不到命令
所以我安装了GCC:
sudo yum install 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 JSON实现 Ruby --main README.rdoc ext / json / ext ext lib README.rdoc --title json-1.6.3文档--quiet
所以安装了ruby-irb:
sudo yum install ruby-irb
再次尝试:
sudo gem install rails
已成功安装rails-3.1.3
这就是全部)))
答案 9 :(得分:-1)
这是我的解决方案:
rvm gem install json -v=xxx
我的设置:
OSX Lion ruby-1.9.3 rvm gcc-4.2 #=> honestly haven't seen that it's been used