我已经搜索了这个问题,并不断寻找与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:intry_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:inblock 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:inopen' from /usr/local/lib/ruby/1.9.1/mkmf.rb:280:in
阻止'推迟'来自 /usr/local/lib/ruby/1.9.1/mkmf.rb:254:inopen' 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,但没有运气。
答案 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,您需要按照以下说明单独安装命令行工具:
如果安装正确,则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)
这里的解决方案对我有用。我只需要从https://developer.apple.com/downloads/index.action
安装命令行工具getting eventmachine gem to compile on OSX Lion 10.8.2 with xcode 4.5.1
答案 3 :(得分:0)
我遇到了同样的问题。打开mkmf.log文件并运行该命令将问题缩小到gmp库。 gmp库位于不同的目录中,未设置LD_LIBRARY_PATH。所以我将LD_LIBRARY_PATH设置为gmp所在的位置,然后正确安装。