惰性符号绑定失败 Ruby Racer
Posted
技术标签:
【中文标题】惰性符号绑定失败 Ruby Racer【英文标题】:Lazy symbol binding failed Ruby Racer 【发布时间】:2016-03-18 11:43:07 【问题描述】:我正在运行 El Capitan(全新安装)和带有 Ruby 2.2.2 的 Rails 4.2.1 应用程序。我最初在安装 libv8 时遇到了问题,不得不使用 brew install v8 和 gem install libv8 (version) 强制安装 systemv8 作为标志。 Bundle 可以正常工作并安装所有 gem 依赖项。
但是当我去加载 rails s
或 bundle exec thin start
来启动我的应用服务器时,我收到以下错误。
dyld: lazy symbol binding failed: Symbol not found: __ZN2v82V821AddGCPrologueCallbackEPFvNS_6GCTypeENS_15GCCallbackFlagsEES1_
Referenced from: /Users/shakycode/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-15/2.2.0-static/therubyracer-0.12.2/v8/init.bundle
Expected in: flat namespace
dyld: Symbol not found: __ZN2v82V821AddGCPrologueCallbackEPFvNS_6GCTypeENS_15GCCallbackFlagsEES1_
Referenced from: /Users/shakycode/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-15/2.2.0-static/therubyracer-0.12.2/v8/init.bundle
Expected in: flat namespace
我正在谷歌上搜索并寻找答案,但到目前为止还没有找到很多有用的答案。我的另一台升级到 El Capitan 的机器没有问题,但是这个干净的安装对于 libv8/v8/therubyracer 是有问题的。
关于如何调试这个有什么想法吗?我想编码。
【问题讨论】:
刚刚也遇到了这个问题。 :// 我也有这个,ELCapiton -ruby 2.1.4p265 【参考方案1】:只是重新安装 therubyracer 对我也不起作用。完整说明:
gem uninstall therubyracer libv8
gem install libv8 therubyracer -- --with-system-v8
【讨论】:
【参考方案2】:我也遇到了这个问题,我通过卸载并重新安装therubyracer
解决了这个问题,如下所示:
gem uninstall therubyracer
gem install therubyracer -v '0.12.2' -- --with-system-v8
对我来说,它是由 Gemfile 中对 libv8
的更新触发的。 bundle install
似乎在更新后运行没有任何问题,但每当我尝试在命令行上执行任何操作时,我都会看到与 OP 相同的错误。
【讨论】:
我也应该发布答案。在安装 ruby racer 之前,我必须使用 system-v8 重建 libv8。【参考方案3】:我在使用 mini_racer gem 时遇到了类似的错误。我将版本从 3.0.1 更新到 4.0.0 并且它工作正常。现在没有收到任何错误。主要是版本问题。有时 gem 的版本与我们的操作系统版本不兼容,就会出现这个问题。 我使用的是 macOS Sur。许多旧版本的 gem 与它不兼容。
【讨论】:
以上是关于惰性符号绑定失败 Ruby Racer的主要内容,如果未能解决你的问题,请参考以下文章
dyld:惰性符号绑定失败:找不到符号:_objc_loadWeak
dyld:惰性符号绑定失败:找不到符号:___emutls_get_address
Xcode 10 GM:XCUIScreen.main.screenshot() 因“dyld:惰性符号绑定失败”而崩溃
嵌套在惰性一次性 ng-repeat 绑定中的绑定是不是只绑定一次?