运行 Rails 服务器时出错 - 找不到符号 - therubyracer

Posted

技术标签:

【中文标题】运行 Rails 服务器时出错 - 找不到符号 - therubyracer【英文标题】:Error running rails server - Symbol not found - therubyracer 【发布时间】:2016-06-18 09:17:30 【问题描述】:

我有这个设置:

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。

【问题讨论】:

能否请您添加您的 gem 文件? @SsouLlesS 我已经编辑和put it 【参考方案1】:

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

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

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

希望有帮助!!

【讨论】:

你能解释更多吗? 宁可使用rubyracer,使用NodeJS。这是解决方法。 是的,我总是在 mac 上安装 nodeJS,然后就不需要 therubyracer gem 是的,@KimmoHintikka 我也这样做。【参考方案2】:

针对 mini-racer gem 的 Mac OS Big Sur 问题解决方案: 我在使用 mini_racer gem 时遇到了类似的错误。我在我的 gemfile 中将版本从 3.0.1 更新到 4.0.0 并且它工作正常。现在没有收到任何错误。主要是版本问题。有时 gem 的版本与我们的操作系统版本不兼容,可能会出现此问题。我使用的是 macOS Big Sur。许多旧版本的 gem 与它不兼容。

【讨论】:

以上是关于运行 Rails 服务器时出错 - 找不到符号 - therubyracer的主要内容,如果未能解决你的问题,请参考以下文章

在 android 中使用 MVVM 设计模式时出错找不到符号类 ViewModel

Rails - 找不到 JavaScript 运行时?

Rails:安装 active_merchant_payu_india 时出错

IDEA使用Maven工具打包带有外部jar包时出错 - 提示程序包不存在和找不到符号

添加 ios 时离子电容器出错:找不到符号 - /Library/Ruby/Gems/2.6.0/gems/bigdecimal-3.0.0/lib/bigdecimal.bundle

将 Rails 3.1 项目部署到 Heroku 时出现问题:找不到 JavaScript 运行时