Ruby on rails 如何让EventMachine gem在OSX Lion 10.8.2和Xcode 4.5.1上编译

Ruby on rails 如何让EventMachine gem在OSX Lion 10.8.2和Xcode 4.5.1上编译,ruby-on-rails,ruby,heroku,thin,eventmachine,Ruby On Rails,Ruby,Heroku,Thin,Eventmachine,我到处找,但似乎找不到解决办法 我在Lion 10.8.2上使用Xcode 4.5.1,并试图为Rails项目运行bundle,但它一直在这方面遇到问题。我用的是希罗库的薄宝石 Bolanos@Jeremys-Mac-mini ⦿-1.9.3 fishfarm $ sudo gem install eventmachine Password: Building native extensions. This could take a while... ERROR: Error install

我到处找,但似乎找不到解决办法

我在Lion 10.8.2上使用Xcode 4.5.1,并试图为Rails项目运行
bundle
,但它一直在这方面遇到问题。我用的是希罗库的薄宝石

Bolanos@Jeremys-Mac-mini ⦿-1.9.3 fishfarm $ sudo gem install eventmachine
Password:
Building native extensions.  This could take a while...
ERROR:  Error installing eventmachine:
    ERROR: Failed to build gem native extension.

        /Users/Bolanos/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
checking for rb_trap_immediate in ruby.h,rubysig.h... no
checking for rb_thread_blocking_region()... yes
checking for inotify_init() in sys/inotify.h... no
checking for __NR_inotify_init in sys/syscall.h... no
checking for writev() in sys/uio.h... yes
checking for rb_thread_check_ints()... yes
checking for rb_time_new()... yes
checking for sys/event.h... yes
checking for sys/queue.h... yes
creating Makefile

make
compiling binder.cpp
make: g++-4.2: No such file or directory
make: *** [binder.o] Error 1


Gem files will remain installed in /Users/Bolanos/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/gems/1.9.1/gems/eventmachine-1.0.0 for inspection.
Results logged to /Users/Bolanos/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/gems/1.9.1/gems/eventmachine-1.0.0/ext/gem_make.out

现在,我不得不忍受瘦。有人有解决方案吗?

您必须从安装命令行工具包


另外,我在MacOSX10.6.sdk上遇到了问题,因为其中缺少一些头文件,所以我安装了MacOSX10.5.sdk,并且一切正常。

还要检查符号链接:

$ sudo ln -s /usr/bin/g++ /usr/bin/g++-4.2

如果以上这些对你都不管用的话,我会的

sudo ln -s /usr/bin/llvm-g++-4.2 /usr/bin/g++-4.2

它就像一个符咒。运行OS X 10.8.2.

我遇到了确切的错误,为丢失的资源创建一个新的符号链接对我来说很有效

在我的设置中,我指向地窖中的位置:

/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/g++-4.2
您应该同时拥有以下两项:

  • Xcode命令行工具:有关安装的详细说明,请参阅“”

  • Apple gcc*编译器:我应该提到,使用gcc48和gcc49编译失败。因此,安装apple-gcc42(如果您没有)并通过选择编译器将解决问题。您可以通过以下方式查看已安装的gcc版本:

    端口选择——列出gcc

  • 您应该看到类似这样的内容,其中“
    mp-
    ”代表MacPorts自己的端口:

    Available versions for gcc:
             apple-gcc42 (active)
             current_saved
             mp-gcc48
             mp-gcc49
    
    如果您没有“apple gcc*”,可以通过以下方式安装:

    port install apple-gcc42
    
    然后选择编译器:

    port select --set gcc apple-gcc42
    
    现在您可以运行:

     gem install eventmachine
    

    这将解决在OSX上构建gem本机扩展时出现的错误问题。

    您的g++在哪里?是否安装了Xcode的命令行工具?是,我安装了这些工具-它可以在我所有的其他应用程序中运行,我可以创建一个新的应用程序并安装thin,它可以运行-它只是不能在这个特定的应用程序中运行。我决定删除我的应用程序并从git重新开始,它可以运行-从未发现一个应用程序不能运行。这似乎是我的正确答案,给定错误是
    make:g++-4.2:没有这样的文件或目录