1

我在尝试安装rails时遇到了这个问题:gen 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.7.5 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/json-1.7.5/ext/json/ext/generator/gem_make.out

提前致谢!

我已尝试按照此处(http://rubyonrails.org/download)和此处(http://rubygems.org/pages/download)的说明进行操作。

4

4 回答 4

3

我将假设您也是 Ruby 的新手,以防万一这样做可以帮助其他需要回答的人。请不要冒犯。

看起来您安装的 Ruby 已过时或损坏。Mac OSX 安装了默认的 Ruby,但老实说,我不知道它是完整的还是过时的,因为我总是安装自己的。

准备好构建环境

默认情况下,MacOSX 不具备构建 C 应用程序的能力,而这正是“标准”ruby 运行时。因此,您需要安装一个 C 构建工具链,在许多情况下是 GCC 和朋友。

未安装 XCode

  1. 在XCode 产品页面上找到“其他开发人员工具”链接
  2. 点击它
  3. 为您的 OSX 版本查找并安装“命令行工具”

安装了 XCode

  1. 打开 XCode
  2. 打开“下载”首选项窗格
  3. 找到“命令行工具”并安装它们

安装它们后,请关闭所有打开的终端窗口,然后再继续以确保构建工具在您的路径中。

安装 Ruby

有几种方法可以让 Ruby 在新的 linux 系统上运行,但最广泛推荐的方法是使用rvm

RVM 是一种帮助安装和管理不同 Ruby 环境的工具,因此您可以轻松地在它们之间切换并升级(或针对特定项目或问题降级)。 可在此处找到(安装说明的直接链接) 您很可能想要执行第一个快速引导式安装,这将为您的用户简单地安装它。它还将安装最新的稳定版 ruby​​。

有一个用于安装 RVM 的 GUI,称为JewelleryBox。它相当漂亮,并且会在有新版本时通知您。

安装应用程序本身后:

  1. 单击工具栏中的添加 Ruby
  2. 选择一个 Ruby 版本。核磁共振是“官方”红宝石……它是一切的开始。目前,最新的稳定版是 ruby​​-1.9.3-p327,所以选择那个 ;)
  3. 确保勾选make default复选框,然后点击“安装”按钮。
  4. 希望一切正常!

安装导轨

Ruby 获取库(包括 Rails)几乎无处不在的方法是使用 ruby​​gems 和gem命令。在这种情况下,gem install rails应该让你开始。哦,确保在安装新的 ruby​​ 后打开一个新的终端窗口,并检查它是否安装了ruby -v.

另一件好事

Bundler 是一个构建在 ruby​​gems 之上的简洁的包管理器。安装它gem install bundle(哦,Rails 会将它安装为依赖项)。它在这个链接上有它的文档,但是对于基本的原始导轨,你不需要对它做任何事情。

祝你好运

祝你学习 Rails 愉快,我希望你会发现它让你的 webapp 开发更有趣^_^

于 2012-12-04T07:43:07.823 回答
2

我尝试了很长时间让 Rails 在 Mac OS X 上顺利运行,我能找到的最佳解决方案是通过JewelryBox安装。

于 2012-12-04T06:06:37.087 回答
0

你有文件吗

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h

因为我没有,而且我也在 Mac OS X 上......

于 2012-12-04T06:02:56.927 回答
0

首先用 ruby​​ 版本创建一个rvm版本。
并在该 rvm 下创建一个具有某个名称的 gemset。在安装任何东西之前
做。 然后安装安装最新版本的rails的rails。 然后继续。gem install bundler
gem install rails

于 2012-12-04T06:49:40.223 回答