Mac Sierra安装RandSQLGenerator后运行报错:找不到GDBM_File.pm
解决Mac Sierra上RandSQLGenerator缺失GDBM_File.pm的问题
这个问题我之前在Mac Sierra上折腾Perl工具时刚好碰到过!本质就是系统自带的Perl缺了GDBM_File这个依赖模块,给你几个实用的解决办法:
方法一:直接安装依赖模块(最快路径)
这个方法适合不想折腾新Perl环境的用户,步骤如下:
- 先安装GDBM系统库
GDBM_File模块依赖底层的GDBM数据库库,Mac Sierra默认没装这个,用Homebrew安装最方便:
如果你还没装Homebrew,先执行这个命令安装:brew install gdbm/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - 安装Perl的GDBM_File模块
用cpanm(Perl的包管理工具)安装模块是最省心的:- 先装cpanm(如果还没装):
curl -L https://cpanmin.us | perl - --sudo App::cpanminus - 然后安装目标模块:
sudo cpanm GDBM_File
cpan工具安装,命令是:
加sudo cpan GDBM_Filesudo是因为要把模块装到系统Perl的库路径里,对应报错里的@INC目录。 - 先装cpanm(如果还没装):
方法二:用perlbrew隔离系统Perl(更安全)
如果你担心修改系统自带Perl会影响系统工具,推荐用perlbrew装一个独立的Perl环境,完全和系统Perl隔离:
- 安装perlbrew
安装完成后,按照提示把初始化命令加到你的shell配置文件(比如curl -L https://install.perlbrew.pl | bash~/.bash_profile或~/.zshrc),然后重启终端生效。 - 安装独立Perl版本
选一个稳定的Perl版本安装(比如5.36.0):perlbrew install perl-5.36.0 - 切换到新Perl环境
perlbrew switch perl-5.36.0 - 安装GDBM_File模块
现在直接装模块就行,不需要sudo:cpanm GDBM_File
验证安装是否成功
不管用哪种方法,安装完成后都可以在终端运行以下命令验证:
perl -e 'use GDBM_File; print "GDBM_File模块加载成功!\n"'
如果没有报错,说明模块已经装好,再去运行RandSQLGenerator就不会再出现那个错误了。
内容的提问来源于stack exchange,提问作者XHY
相关产品推荐
相关产品推荐

