我有这个设置:

  • OSX El Capitan 10.11.1
  • Ruby 2.0.0p247(Rbenv)(我没有RVM)
  • Rails 4.1.14.1

  • 我运行bundle install,看起来一切正常,但是当我运行rails server时,它返回以下消息:
    dyld: lazy symbol binding failed: Symbol not found: __ZN2v82V821AddGCPrologueCallbackEPFvNS_6GCTypeENS_15GCCallbackFlagsEES1_
      Referenced from: /Users/cleytonmessias/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/therubyracer-0.12.1/lib/v8/init.bundle
      Expected in: flat namespace
    
    dyld: Symbol not found: __ZN2v82V821AddGCPrologueCallbackEPFvNS_6GCTypeENS_15GCCallbackFlagsEES1_
      Referenced from: /Users/cleytonmessias/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/therubyracer-0.12.1/lib/v8/init.bundle
      Expected in: flat namespace
    
    Trace/BPT trap: 5
    

    我见过有人遇到这个问题here,但直到现在都没有解决方案。

    这是我的Gemfile

    最佳答案

    我实际上不是Mac用户,但出于好奇,我试图找到解决方案。我发现软件与特定的OS X版本不兼容。大多数解决方案都显示升级软件。在许多答案中,以下对我来说似乎是正确的:

    gem uninstall therubyracer
    gem install therubyracer -v '0.12.2' -- --with-system-v8
    

    在我的Ubuntu系统中,我使用NodeJS作为JavaScript运行时。我建议尽可能使用它。

    希望有帮助!!

    10-06 11:56