标准库中的GDBM丢失了还是仅仅是我?

时间:2012-03-16 21:57:11

标签: ruby

GDBM看起来很有趣,是一种持久的Hash或键值存储。但是示例代码不会运行:

require 'gdbm'

导致此错误:

  

无法加载此类文件--gdbm(LoadError)

我在Ubuntu上使用Ruby 1.9.3。文档是错误的还是我的Ruby安装有问题?

2 个答案:

答案 0 :(得分:6)

GDBM是一个为GNU数据库提供API的库,您可能没有安装它。 Ruby标准库文档建议仅当基础库在您的系统上可用时才可用。 (没有必要提供一个没有连接任何东西的库!)用apt-get安装libgdbm3,确认你有你的库('locate libgdbm'例如),并重新安装/更新你的ruby 1.9以将库合并到你的ruby中。

答案 1 :(得分:3)

使用ruby 2.1.2和Rbenv我解决了这个问题:

$ apt-get install libgdbm3
$ ln -s /usr/lib/x86_64-linux-gnu/libgdbm.so.3 /usr/lib/x86_64-linux-gnu/libgdbm.so
$ gem install gdbm

现在可行了

$ irb
irb(main):001:0> require 'gdbm'
=> true