无法在mac osx雪豹上安装eventmachine

时间:2011-06-07 20:12:45

标签: ruby osx-snow-leopard eventmachine

我已经搜索了这个问题,并不断寻找与PC相关的资源。每次我尝试安装eventmachine gem时都会收到此错误:

  

构建原生扩展。这个   可能需要一段时间...错误:错误   安装eventmachine:错误:   无法构建gem原生扩展。

     

/ usr / local / bin / ruby​​ extconf.rb   检查rb_trap_immediate in   ruby.h,rubysig.h ... * extconf.rb   失败* 无法创建Makefile   由于某种原因,可能缺乏   必要的库和/或标题。   检查mkmf.log文件以获取更多信息   细节。您可能需要配置   选项。

     

提供配置选项:     --with-opt-dir --without-opt-dir     --with-OPT-包括     --without-OPT-包括= $ {停用DIR} /包括     --with-OPT-LIB     --without-OPT-LIB = $ {选择-DIR} / lib目录     --with-make-prog --without-make-prog     --srcdir =。 --curdir     --ruby =在/ usr / local / bin目录/红宝石   /usr/local/lib/ruby/1.9.1/mkmf.rb:368:in   来自try_do': The complier failed to generate an executable file. (RuntimeError) You have to install development tools first. from /usr/local/lib/ruby/1.9.1/mkmf.rb:446:in try_compile'   /usr/local/lib/ruby/1.9.1/mkmf.rb:568:in   try_var' from /usr/local/lib/ruby/1.9.1/mkmf.rb:816:in 阻止来自has_var'   /usr/local/lib/ruby/1.9.1/mkmf.rb:693:in   block in checking_for' from /usr/local/lib/ruby/1.9.1/mkmf.rb:280:in 阻止(2级)推迟'来自   /usr/local/lib/ruby/1.9.1/mkmf.rb:254:in   open' from /usr/local/lib/ruby/1.9.1/mkmf.rb:280:in 阻止'推迟'来自   /usr/local/lib/ruby/1.9.1/mkmf.rb:254:in   open' from /usr/local/lib/ruby/1.9.1/mkmf.rb:276:in 推迟发布   /usr/local/lib/ruby/1.9.1/mkmf.rb:692:in   来自extconf.rb的checking_for' from /usr/local/lib/ruby/1.9.1/mkmf.rb:815:in have_var':16:in   `'

     

Gem文件将保持安装状态   /usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10   检查。记录结果   /usr/local/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/ext/gem_make.out

在构建c扩展时似乎打破了,我尝试了各种解决方案,如this one,但没有运气。

4 个答案:

答案 0 :(得分:0)

您需要安装XCode 3.2或4才能编译此类扩展。 XCode软件包是一个可选的安装版本,可以作为操作系统零售包的主安装DVD或带有新系统的补充光盘。

您可以从App Store下载10.7或更高版本。

答案 1 :(得分:0)

您的问题可能是因为您尚未安装Xcode 4.2 / 4.3的开发人员工具。

使用Xcode 4.2.x和4.3.x,您需要按照以下说明单独安装命令行工具:

  1. 启动Xcode从菜单上的“Xcode”项打开“Preferences” 栏。
  2. 选择“下载”标签(图标)。
  3. 点击“命令行工具”的“安装”按钮(从我朋友的网站借来的指示 这里)
  4. 如果安装正确,则cc - 版本应发出:

    %cc --version

    Apple clang version 3.1 (tags/Apple/clang-318.0.54) (based on LLVM 3.1svn)
    Target: x86_64-apple-darwin11.3.0
    Thread model: posix
    

    OR

    如果您使用的是Ruby 1.9.3,则EventMachine存在已知问题。见http://isitruby19.com/eventmachine。对于需要使用RVM或rbenv的eventmachine的项目,我建议你降级到1.9.2。

答案 2 :(得分:0)

答案 3 :(得分:0)

我遇到了同样的问题。打开mkmf.log文件并运行该命令将问题缩小到gmp库。 gmp库位于不同的目录中,未设置LD_LIBRARY_PATH。所以我将LD_LIBRARY_PATH设置为gmp所在的位置,然后正确安装。