2011-09-07 26 views
9

我正在Linux机器上安装perl模块(不使用CPAN)。当我运行命令:构建perl模块给出图元文件错误

perl Build.PL 

我得到以下错误:

ERROR: Missing required field 'dist_abstract' for metafile 
Could not get valid metadata. Error is: Invalid metadata structure. 
Errors: Missing mandatory field, 'abstract' (abstract) [Validation: 1.4], 
value is an undefined string (abstract) [Validation: 1.4] 
at /usr/local/share/perl5/Module/Build/Base.pm line 4559 
Could not create MYMETA files 

我试过谷歌搜索位,这个错误的碎片,但没有发现任何解决方案。只是寻找可能导致此错误的线索。

下面是包含安装它所需的文件的zip文件的链接: https://oncourse.iu.edu/access/content/user/brilewis/Filemanager_Public_Files/DataDownloader.zip

+4

如果我们知道你正在安装哪个模块(来自CPAN,对吧?)以及如何将它解压缩到系统中,这可能会有所帮助。这样我们可以自己看看。 – DavidO

+3

你想要安装什么模块? – Cfreak

+0

你从哪里找到该链接? –

回答

5

首先,在所有请确保您有包Module::Build安装。 你需要在这个软件包中压缩几个gzip文件。我不知道为什么作者gzipped他们:

gzip -d *.gz 

我真的不知道为什么作者存档每个安装文件。这对我来说看起来像是一个错误。

比你可以安装所有的依赖关系(该模块需要一些):

./Build installdeps 

然后终于安装模块本身:

./Build 
./Build test 
./Build install 

但是我必须警告你,这个模块中的位打包奇怪的方式,并不能保证它的工作。

0

你的机器上有root权限吗?您可以使用cpan实用程序来构建和安装您的模块。使用cpan是相当直截了当:

$ cpan 

之后,它会做很多的配置,简单地采取默认值。完成后,它会提示cpan>。所有你需要做的是这样的:

cpan> install Module::Name 

其中Module::Name是你想要安装的模块。检查CPAN存档以获取模块的名称。

如果存在任何依赖关系,CPAN会询问您是否要下载并安装这些依赖项。说是的,CPAN将安装依赖关系,然后你的模块。

使用cpan是安装在CPAN存档中找到的第三方模块的最佳方式。它负责照顾所有的依赖关系,测试和为你建设。

尝试通过CPAN进行安装,然后查看是否仍有问题。

4

该模块的NAME部分在其中没有-,例如,,

=head1 NAME 

Foo::Bar implements a Foo framework. 

会失败,但如果你把它

=head1 NAME 

Foo::Bar - implements a Foo framework. 

那么它会工作。

+0

根据我的经验,这个(即缺少'-')似乎是'缺少必要的字段'dist_abstract'导致metafile'错误的原因* – Randall