【问题标题】:Can't locate GDBM_File.pm [duplicate]找不到 GDBM_File.pm [重复]
【发布时间】:2018-02-12 01:04:37
【问题描述】:

我在我的 Mac (Sierra) 上安装了 RandSQLGenerator 并运行了这个命令。

./gentest.pl --dsn=dbi:mysql:host=127.0.0.1:port=4000:user=root:database=test --grammar=conf/outer_join.yy --gendata=conf/outer_join.zz --thread=1 --sqltrace=MarkErrors

我收到以下错误消息

在@INC 中找不到 GDBM_File.pm(您可能需要安装 GDBM_File 模块)
(@INC 包含:
/lib

/Library/Perl/5.18/darwin-thread-multi-2level
/库/Perl/5.18
/Network/Library/Perl/5.18/darwin-thread-multi-2level
/网络/库/Perl/5.18
/Library/Perl/Updates/5.18.2/darwin-thread-multi-2level
/Library/Perl/Updates/5.18.2
/System/Library/Perl/5.18/darwin-thread-multi-2level
/系统/库/Perl/5.18
/System/Library/Perl/Extras/5.18/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.18
.
) 在 lib/GenTest.pm 第 34 行。
BEGIN 失败——编译在 lib/GenTest.pm 第 34 行中止。
./gentest.pl 第 27 行的 require 编译失败。
BEGIN 失败——编译在 ./gentest.pl 第 27 行中止。

我尝试从谷歌搜索它,但仍然无法解决这个问题。

【问题讨论】:

  • GDBM_File 是一个核心模块,如您所见here。也许它不包含在 macOS 下的 perl 核心中。检查您是否可以在另一个包中找到该模块。你不能通过 CPAN 安装它,因为它只包含在 Perl 中。
  • 如果您要重新打开,您需要更新问题以说明为什么它现在更可行。格式化几乎不是原因

标签: perl


【解决方案1】:

cpan

你可以通过这个命令安装它:

cpan GDBM_File

【讨论】:

  • GDBM_File 是一个核心模块,如果不安装它所包含的 perl,就无法安装。
  • @tinita:一些 Linux 发行版喜欢修剪 Perl 核心模块,大概是为了节省存储空间。例如,请参阅this about RedHat。我只能想象它是为嵌入式系统或类似系统设计的,但我找不到 RedHat 团队的实例给出解释或已删除内容的列表。
  • @Borodin 我知道 RedHat/CentOS,您可以使用附加软件包 perl-core 在那里安装所有核心模块。但是,您仍然不能使用 cpan 来安装这些软件包,只有当它们是具有自己发行版的双生命模块时。对于 macOS 的问题,排除此模块似乎是有原因的。
  • @tinita:我只能猜测这个特定的模块,但即使是perl-core does not contain all perl modules。那里的投诉只是缺少CGI,但它使perl-core 包有问题。
  • 题外话,我想知道为什么Text::CSV 不是核心。我可以看到它对Text::CSV_PPText::CSV_XS 的依赖可能是一个问题,但我不想猜测。
猜你喜欢
  • 2012-01-31
  • 2013-09-10
  • 2014-01-18
  • 2019-06-02
  • 1970-01-01
  • 1970-01-01
  • 2015-07-04
  • 2017-05-22
  • 2011-04-14
相关资源
最近更新 更多