Windows下Git Bash安装ExtUtils::ParseXS时make报错求助
解决Git Bash中Perl模块ExtUtils::ParseXS的make报错问题
在Windows的Git Bash环境下安装Perl模块ExtUtils::ParseXS时,完成C编译后执行make命令出现报错:
make: *** No rule to make target '/usr/lib/perl5/core_perl/Config.pm', needed by 'makefile'. Stop.
但/usr/lib/perl5/core_perl/Config.pm文件确实存在,相关Makefile片段如下:
# This Makefile is for the ExtUtils::ParseXS extension to perl.... DIRFILESEP = / DFSEP = $(DIRFILESEP) PERL_ARCHLIBDEP = /usr/lib/perl5/core_perl FIRST_MAKEFILE = Makefile ... # Where is the Config information that we are using/depend on CONFIGDEP = $(PERL_ARCHLIBDEP)$(DFSEP)Config.pm $(PERL_INCDEP)$(DFSEP)config.h ... # We take a very conservative approach here, but it's worth it. # We move Makefile to Makefile.old here to avoid gnu make looping. $(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP) $(NOECHO) $(ECHO) "Makefile out-of-date with respect to $?" $(NOECHO) $(ECHO) "Cleaning current config before rebuilding Makefile..." -$(NOECHO) $(RM_F) $(MAKEFILE_OLD) -$(NOECHO) $(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD) - $(MAKE) $(USEMAKEFILE) $(MAKEFILE_OLD) clean $(DEV_NULL) $(PERLRUN) Makefile.PL $(NOECHO) $(ECHO) "==> Your Makefile has been rebuilt. <==" $(NOECHO) $(ECHO) "==> Please rerun the $(MAKE) command. <==" $(FALSE)
以下是可行的解决步骤:
检查路径大小写一致性
Windows文件系统默认不区分大小写,但Git Bash中的make工具对大小写敏感。确认/usr/lib/perl5/core_perl/下的文件实际是Config.pm还是config.pm,如果大小写不匹配,修改Makefile中的CONFIGDEP路径,或者重命名文件统一大小写。清理并重新生成Makefile
先清除编译残留文件:make clean rm -f Makefile Makefile.old再重新生成Makefile并执行编译:
perl Makefile.PL make验证Git Bash路径映射
确认Git Bash中的路径是否正确指向Windows系统中的Perl文件:ls -l /usr/lib/perl5/core_perl/Config.pm如果命令能正常输出文件信息,说明路径映射正常;若报错,需检查Perl安装路径的配置,或重新安装Git Bash中的Perl环境。
使用cpanm自动安装
跳过手动编译步骤,用Perl的包管理工具cpanm安装:cpanm ExtUtils::ParseXS若未安装cpanm,先执行以下命令安装:
curl -L https://cpanmin.us | perl - --sudo App::cpanminus
内容的提问来源于stack exchange,提问作者snoopyjc
相关产品推荐
相关产品推荐

