运行导轨服务器时出错 - 找不到符号 - 红宝石



我有这个设置:

  • OSX 埃尔卡皮坦 10.11.1
  • Ruby 2.0.0p247 (Rbenv) (我没有 RVM)
  • 导轨 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

我在这里看到有些人有这个问题,但直到现在还没有解决方案。

这是我的宝石文件。

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

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

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

希望有帮助!!

Mac OS Big Sur 问题 解决迷你赛车手 gem:我在使用宝石时遇到了类似的错误mini_racer。我在 gemfile 中将版本从 3.0.1 更新到 4.0.0,它起作用了。现在没有任何错误。主要是版本问题。有时 gem 的版本与我们的操作系统版本不兼容,可能会出现此问题。我使用的是macOS Big Sur。许多旧版本的宝石与它不兼容。

最新更新