dyld:惰性符号绑定失败:找不到符号:__gdbm_lock_file GDBM 错误 gem

dyld: lazy symbol binding failed: Symbol not found: __gdbm_lock_file error with GDBM gem

我在尝试使用 Ruby GDBM gem 时遇到了这个奇怪的错误。 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 甚至 installing/uninstalling 我的 brew GDBM 安装执行。我的 GDBM Brew 安装在 /usr/local/Cellar/gdbm/1.12 当我从命令行手动调用它时 GDBM 工作(例如 gdbm_load)。

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

我该如何解决这个问题?

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

不使用 HomeBrew 手动安装 GDBM,或安装它:

brew install gdbm --build-from-source

可以解决问题。