我有这个设置:
我运行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。
答案 0 :(得分:1)
我实际上不是Mac用户,但出于好奇,我试图找到解决方案。我发现软件与特定OS X版本不兼容。大多数解决方案都是升级软件。以下许多答案对我来说似乎是正确的:
gem uninstall therubyracer
gem install therubyracer -v '0.12.2' -- --with-system-v8
在我的Ubuntu系统中,我使用NodeJS作为javascript运行时。我建议尽可能使用它。
希望有所帮助!!
答案 1 :(得分:0)
Mac OS Big Sur 问题解决了 mini-racer gem: 我在使用 mini_racer gem 时遇到了类似的错误。我在我的 gemfile 中将版本从 3.0.1 更新到 4.0.0 并且它起作用了。现在没有收到任何错误。主要是版本问题。有时 gem 的版本与我们的操作系统版本不兼容,可能会出现此问题。我使用的是 macOS Big Sur。许多旧版本的 gem 与它不兼容。