dyld:懒符号绑定失败:未找到符号:__gdbm_lock_file错误与GDBM gem

时间:2016-09-29 02:02:55

标签: ruby rubygems homebrew dyld gdbm

当我尝试使用Ruby GDBM gem时,我收到了这个奇怪的错误。宝石曾经工作过。现在,当我调用它时,我得到了这个错误(跨越许多不同版本的ruby):

dyld: lazy symbol binding failed: Symbol not found: __gdbm_lock_file
  Referenced from: /usr/local/lib/libgdbm.dylib
  Expected in: flat namespace

dyld: Symbol not found: __gdbm_lock_file
  Referenced from: /usr/local/lib/libgdbm.dylib
  Expected in: flat namespace

我尝试了很多ruby版本,直接从Rbenv执行,甚至安装/卸载我的brew GDBM安装。当我从命令行手动调用GDBM时,我的GDBM Brew安装位于/usr/local/Cellar/gdbm/1.12 GDBM(例如gdbm_load)。

我能想到的唯一改变是我现在在OSX El Capitan 10.11.6上运行。或者我以某种方式更改了可能导致此错误的配置或PATH文件。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

GDBM ruby​​ gem的维护者has confirmed it's an issue with either HomeBrew or GDBM itself.

在不使用HomeBrew的情况下手动安装GDBM,或者使用以下命令安装它:

brew install gdbm --build-from-source

可以解决问题。