MacBook M2(Sonoma 14.1.1)安装DBD::MariaDB失败求助
解决M2 Mac Sonoma下DBD::MariaDB/DBD::Pg安装失败的问题
核心原因
系统自带的Perl(5.30)仅包含运行时组件,缺少编译DBD驱动所需的DBI开发头文件(比如Driver_xst.h),同时系统Perl的权限限制也会导致安装失败。
解决步骤
1. 安装Perlbrew(管理独立Perl环境)
先确保已安装Homebrew,若未安装执行:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
再安装Perlbrew:
brew install perlbrew
初始化Perlbrew:
perlbrew init
按照提示将Perlbrew初始化命令添加到shell配置文件(如~/.zshrc或~/.bashrc),之后重启终端或执行:
source ~/.zshrc
2. 安装适配arm64的Perl版本
安装最新稳定版Perl(以5.38为例):
perlbrew install perl-5.38.0 -Dusethreads
切换到新安装的Perl环境:
perlbrew switch perl-5.38.0
验证当前Perl路径,确认输出为用户目录下的独立Perl:
which perl
最后安装cpanm模块管理器:
perlbrew install-cpanm
3. 重新安装DBI和DBD驱动
先安装DBI:
cpanm DBI
安装DBD::MariaDB前,先装MariaDB客户端依赖:
brew install mariadb-connector-c cpanm DBD::MariaDB
若安装DBD::Pg,先装PostgreSQL客户端依赖:
brew install postgresql cpanm DBD::Pg
备选方案:用系统Perl补全开发文件(不推荐)
若坚持使用系统Perl,先通过Homebrew安装带开发文件的DBI:
brew install perl-dbi
安装DBD驱动时手动指定DBI头文件路径(替换<版本号>为实际安装的版本):
cpanm --configure-args="--dbi-inc=/usr/local/Cellar/perl-dbi/<版本号>/lib/perl5/site_perl/<Perl版本>/darwin-thread-multi-2level/auto/DBI/" DBD::MariaDB
关键提示
- 禁止修改系统自带Perl的文件,避免破坏系统功能。
- 独立Perl环境(如Perlbrew)的模块均安装在用户目录下,无权限问题,版本兼容性更强。
内容的提问来源于stack exchange,提问作者mhotchjr
相关产品推荐
相关产品推荐

