2015-11-26 71 views
2

我最近安装了XAMPP。一切都很好,但有一件事不让我休息:我无法通过cpanm获得任何模块。典型的安装日志是这样的:Cpanm由于应该缺少'make'而无法安装任何模块

cpanm (App::cpanminus) 1.6005 on perl 5.016003 built for MSWin32-x86-multi-thread 
Work directory is C:\Users\2B86~1/.cpanm/work/1448496711.6352 
You have LWP 6.04 
You have C:\Users\boss\AppData\Local\Atlassian\SourceTree\git_local\bin\tar.exe, C:\Users\boss\AppData\Local\Atlassian\SourceTree\git_local\bin\gzip.exe and C:\Users\boss\AppData\Local\Atlassian\SourceTree\git_local\bin\bzip2.exe 
You have C:\Users\boss\AppData\Local\Atlassian\SourceTree\git_local\bin\unzip.exe 
Searching DateTime::Tiny on cpanmetadb ... 
--> Working on DateTime::Tiny 
Fetching http://www.cpan.org/authors/id/A/AD/ADAMK/DateTime-Tiny-1.04.tar.gz 
-> OK 
Unpacking DateTime-Tiny-1.04.tar.gz 
Entering DateTime-Tiny-1.04 
Checking configure dependencies from META.yml 
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.64) 
Configuring DateTime-Tiny-1.04 
Running Makefile.PL 
-> OK 
Checking dependencies from MYMETA.json ... 
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.64) 
-> FAIL Can't configure the distribution. You probably need to have 'make'. See C:\Users\2B86~1\.cpanm\build.log for details. 

线-> FAIL Can't configure the distribution. You probably need to have 'make'. See C:\Users\2B86~1\.cpanm\build.log for details.是为了指示错误,但我有在同一目录cpanm的make.exe。

有些史前史,我在安装xampp之前安装了Strawberry Perl,但并未意识到它已经内置了Perl。在发现我决定卸载前者后,cpanm突然开始遇到此错误。我仔细检查过,并没有在我的Strawberry Perl安装中找到一个make.exe的痕迹,但它工作得很好,虽然它们共存,但xampp的cpanm也起作用。

我试图寻求谷歌的帮助,但它提出了sudo apt-get install build-essentials般的建议。

回答

0

我在Windows 10 64位亲。我最近从berrybrew变回了Strawberry perl,并且有同样的问题。我可以通过完全卸载旧的perl来解决它,并清除以下文件夹(在C:盘上搜索).cpanm,.cpantesters和.cpanreporter。您可能只需要清除.cpanm文件夹,但我已清除其他文件以获得更好的效果。 (在删除最后两个文件之前保存文件metabase_id.json)事实证明,在我的情况下,App :: cpanminus没有被新的perl安装,所以当我安装新的perl时,它在我尝试运行cpanm时丢失了安装::一些::应用程序,因为它找到了文件夹,但不是所有的地方在那里。

0

条目“您可能需要'make'。”在日志中意味着cpanm无法找到make文件的确切位置(例如dmake.exe)。在运行cpanm之前,该位置必须包含在%PATH%中。

例如,如果你使用MSYS和MinGW源安装在您的Perl,运行cpanm之前执行以下命令:

set PATH=C:\MinGW\msys\1.0\bin;%PATH% 

本作可执行文件必须是用来编译你的Perl相同。您可以通过执行以下命令来检查制作的确切名称:

perl -V:make 

然后找到该可执行文件的路径并将其添加到%PATH%。

+0

我不能真正检查你的答案了,因为我很长一段时间没有确切的设置。其他读者希望可以检查它。 – ZzZombo

相关问题