当我尝试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 install
或bundle 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#=>老实说没有看到它被使用过