我一直试图在我的Mac上安装rails。我有OS X 10.6.8,我已经确认我有Ruby,版本1.8.7
我运行sudo gem update
和sudo gem update --system
以获取最新版本的软件。
但是,当我运行sudo gem install rails
时,我收到此错误:
ERROR: Error installing rails:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h
Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/json-1.6.3 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/json-1.6.3/ext/json/ext/parser/gem_make.out
答案 0 :(得分:45)
如果您有XCode 4或更高版本,则需要打开它并转到首选项 - >下载 - >组件并安装命令行工具,因为它们默认情况下未安装。在发生这种情况之前无法安装Rails。
答案 1 :(得分:34)
我正在使用osx 10.10。您可以从命令行下载
xcode-select --install
答案 2 :(得分:8)
不确定编译需要什么,但除非安装了Apple开发人员工具,否则OSX根本无法编译任何本机ruby扩展。在10.7 Lion上,您可以从应用程序商店免费下载,或者在此处下载10.6:http://developer.apple.com/xcode/index.php
它也可能在你的OSX安装光盘上,虽然可能更加过时。
答案 3 :(得分:5)
只是跟进......
可能是你在mac和rails上找不到正确的c头编译器。
只需从apps store / homebrew安装xcode或转到终端...
$ xcode-select --install
完成安装并同意许可等,然后......
$ sudo gem install rails
答案 4 :(得分:4)
您是否安装了OS X开发人员工具?您需要这样做才能构建原生扩展
答案 5 :(得分:3)
失败有两个可能的原因:
手动验证Xcode命令行工具:
检查是否存在
" /usr/include/iconv.h" (如果缺席=>缺少或未正确安装Xcode CLT)
安装Xcode CLT :
尝试在终端上运行xcode-select --install
并按照说明操作。如果失败,请打开Xcode.app,从菜单中选择" Xcode" - "打开开发人员工具" - "更多开发者工具"打开开发人员站点,下载操作系统版本的安装程序并运行它。
希望它有所帮助!
答案 6 :(得分:1)
尝试通过RVM安装Ruby。我用这种方式解决了
答案 7 :(得分:1)
命令行工具并没有为我解决这个问题。 我通过rbenv将ruby安装升级到2.2.0,这是全局默认的ruby安装,这个问题已得到解决。
答案 8 :(得分:1)
解决此问题的步骤: 除非已解决错误,否则请执行以下步骤。
答案 9 :(得分:0)
刚遇到类似的问题。我可以确认安装命令行工具可以修复它。
答案 10 :(得分:0)
https://stackoverflow.com/a/58226876/8070378
运行后已解决:
sudo xcode-select --install
sudo xcodebuild -license accept
答案 11 :(得分:0)
我在 macOS Catalina 10.15.7 上遇到了这个问题,似乎 Xcode 12.3 的 Ruby 是 2.6 的变体,但我的软件需要 2.7。
我安装了 rvm
并运行了 rvm install ruby-2.7
,现在它运行良好 ?