首页 > 解决方案 > 安装 CPAN 模块时“目标 'pm_to_blib' 的配方失败”(Text::CSV、Tie::RegexpHash、Log::Log4perl)

问题描述

新计算机
Windows 10.0.17763
ActivePerl 5.28
MinGW(2020 年 7 月下载)
以管理员权限安装

当我尝试安装 Text::CSV(Text::CSV::Encoded 需要)时,我收到以下错误:

Writing Makefile for Text::CSV  
Writing MYMETA.yml and MYMETA.json  
ISHIGAKI/Text-CSV-2.00.tar.gz  
C:\Perl64\bin\perl.exe Makefile.PL INSTALLDIRS=site -- OK  
Running make for I/IS/ISHIGAKI/Text-CSV-2.00.tar.gz  
to undefined at C:/Perl64/site/lib/ExtUtils/Install.pm line 141.  

Makefile:945: recipe for target 'pm_to_blib' failed  
dmake: *** [pm_to_blib] Error 255
ISHIGAKI/Text-CSV-2.00.tar.gz  
C:\MinGW\bin\dmake.exe -- NOT OK  

当我尝试安装 Tie::RegexpHash 时会发生类似的事情。
据我所知,失败的步骤是将文件从一个位置复制到另一个位置,所以我认为这是一个设置问题。任何帮助将不胜感激。

历史

以前的电脑死机了,重新安装。安装程序在以前的安装中运行良好(使用以前版本的 ActivePerl)。
我尝试安装之前设置中安装的 CPAN 模块(Text::CSV、Text::CSV::Encoded、Tie::RegexpHash),但是在尝试时出现pm_to_blib错误。
我更新了 CPAN,并且成功了。

完整安装日志:

C:\Windows\system32>cpan "Text::CSV"  
Loading internal logger. Log::Log4perl recommended for better logging  
Reading 'C:\Perl64\cpan\Metadata'  
  Database was generated on Tue, 21 Jul 2020 02:17:03 GMT  
Running install for module 'Text::CSV'  
CPAN: Digest::SHA loaded ok (v6.01)  
CPAN: Compress::Zlib loaded ok (v2.092)  
Checksum for C:\Perl64\cpan\sources\authors\id\I\IS\ISHIGAKI\Text-CSV-2.00.tar.gz ok  
CPAN: Archive::Tar loaded ok (v2.30)  
CPAN: YAML::XS loaded ok (v0.69)  
CPAN: CPAN::Meta::Requirements loaded ok (v2.140)  
CPAN: Parse::CPAN::Meta loaded ok (v2.150010)  
CPAN: CPAN::Meta loaded ok (v2.150010)  
CPAN: Module::CoreList loaded ok (v5.20181129_28)  
Configuring I/IS/ISHIGAKI/Text-CSV-2.00.tar.gz with Makefile.PL  
Welcome to Text::CSV (v.2.00)  
=============================  
You have Text::CSV_XS (v.1.34), so Text::CSV can work very fast!!  
  
Checking if your kit is complete...  
Looks good  
Generating a dmake-style Makefile  
Writing Makefile for Text::CSV  
Writing MYMETA.yml and MYMETA.json  
  ISHIGAKI/Text-CSV-2.00.tar.gz  
  C:\Perl64\bin\perl.exe Makefile.PL INSTALLDIRS=site -- OK  
Running make for I/IS/ISHIGAKI/Text-CSV-2.00.tar.gz  
to undefined at C:/Perl64/site/lib/ExtUtils/Install.pm line 141.  
Makefile:945: recipe for target 'pm_to_blib' failed  
dmake: *** [pm_to_blib] Error 255  
  ISHIGAKI/Text-CSV-2.00.tar.gz  
  C:\MinGW\bin\dmake.exe -- NOT OK  

标签: windowsperlcpan

解决方案


卸载 ActivePerl 并安装 Strawberry Perl 确实成功了。

可能是因为最新版本的 ActivePerl 不再具有 ppm(您必须将 CPAN 模块构建到您下载的 Perl 中——如果它们有的话),cpan 不再起作用。

再次感谢,Håkon Hægland


推荐阅读