【问题标题】:Can't install json with gem无法使用 gem 安装 json
【发布时间】:2011-07-20 21:03:29
【问题描述】:

我在终端 (OSX 10.6.6) 中尝试了以下命令,结果出现错误。有谁知道如何解决这个问题?

须藤宝石安装json 构建原生扩展。这可能需要一段时间... 错误:安装 json 时出错: 错误:无法构建 gem 原生扩展。 /usr/local/bin/ruby extconf.rb 检查 ruby​​/re.h... *** extconf.rb 失败 *** 由于某种原因无法创建 Makefile,可能缺少 必要的库和/或头文件。查看 mkmf.log 文件了解更多信息 细节。您可能需要配置选项。 提供的配置选项: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --没有-make-prog --srcdir=。 --curdir --ruby=/usr/local/bin/ruby /usr/local/lib/ruby/1.9.1/mkmf.rb:368:in `try_do':编译器无法生成可执行文件。 (运行时错误) 您必须先安装开发工具。 来自 /usr/local/lib/ruby/1.9.1/mkmf.rb:452:in `try_cpp' 来自 /usr/local/lib/ruby/1.9.1/mkmf.rb:834:in `block in have_header' 来自 /usr/local/lib/ruby/1.9.1/mkmf.rb:693:in `block in checks_for' 来自 /usr/local/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in推迟' 来自 /usr/local/lib/ruby/1.9.1/mkmf.rb:254:in `open' 来自 /usr/local/lib/ruby/1.9.1/mkmf.rb:280:in `block in推迟' 来自 /usr/local/lib/ruby/1.9.1/mkmf.rb:254:in `open' 来自 /usr/local/lib/ruby/1.9.1/mkmf.rb:276:in `postpone' 来自 /usr/local/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for' 来自 /usr/local/lib/ruby/1.9.1/mkmf.rb:833:in `have_header' 来自 extconf.rb:17:in `' Gem 文件将继续安装在 /usr/local/lib/ruby/gems/1.9.1/gems/json-1.5.1 以供检查。 结果记录到 /usr/local/lib/ruby/gems/1.9.1/gems/json-1.5.1/ext/json/ext/generator/gem_make.out

【问题讨论】:

    标签: ruby-on-rails ruby json macos gem


    【解决方案1】:

    您需要安装 XCode。它在 AppStore 上可用

    如果安装了 XCode,但您仍然收到此错误,也许您应该尝试使用 rvm

    【讨论】:

    • 您好,感谢您的回复。我已经安装了 XCode(带有雪豹 osx 安装光盘的那个)。
    • 您是否使用 macports 安装了 ruby​​ 1.9.1?
    • 不,我用的是 rvm。会不会有问题?
    • 也许你需要 readline 或其他东西 rvm package install readline rvm install 1.9.2 -C --with-readline-dir=$HOME/.rvm/usr
    • 之后你可能还想重新安装你的 ruby​​ 和 gems
    【解决方案2】:

    您收到此错误的原因是 json gem 包含需要在您的机器上编译才能运行的 C/C++ 扩展。

    只安装 XCode 并不能解决问题,您需要专门安装 XCode 命令行工具。它是一个编译器/链接器工具链,包括 C/C++ 编译器、make 等。

    有一个选项可以将它们安装在 XCode GUI 内的菜单中,有关详细信息,请参阅此线程:

    Xcode 4.4 and later install Command Line Tools

    【讨论】:

      【解决方案3】:

      你应该可以通过运行来安装必要的工具:

      > xcode-select --install
      

      【讨论】:

        猜你喜欢
        • 2011-07-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-14
        • 2018-01-29
        • 2018-11-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多