MP3::Tag - 不工作

MP3::Tag - not working

我正在尝试用 perl 编写一个使用 MP3::Tag 模块的小程序。 该程序不执行并给我:

Can't locate MP3/Tag.pm in @INC (you may need to install the MP3::Tag module) (@INC contains: ... .) at mp3Editor.pl line 3.

第 3 行是:use MP3::Tag;

然后我尝试命令:cpan MP3::Tag

但我得到:Warning: Cannot install MP3::Tag, don't know what it is.

我已经从 CPAN 的网站上下载了该模块,但我似乎无法使用它。我必须做什么才能让 MP3::Tag 模块在我的系统上运行?任何帮助表示赞赏。谢谢。

EDIT env | grep -i perl 产生:

PERL_MB_OPT=--install_base "/home/bronson/perl5"
PERL_MM_OPT=INSTALL_BASE=/home/bronson/perl5

您的 cpan 客户端似乎配置错​​误,它似乎没有正确的 CPAN 模块列表。 cpanm 是一个比 cpan 更友好的 CPAN 客户端,我建议改用它。

如果新安装的 cpanm 安装了模块但您仍然收到错误,并且如果 which perl#! 行中的 Perl 相同,那么您的模块可能安装在标准 Perl 库位置之外。有几种方法可能会发生这种情况,第一种是检查影响安装的环境变量。 env | grep -i perl 是一个好的开始。 PERL_MB_OPTPERL_MM_OPT 之类的东西会改变 cpancpanm 调用 Build.PL 和 Makefile.PL 安装程序的方式。

如果设置了 PERL_M*_OPT 那么应该有一个相应的 PERL5LIB 来告诉 Perl 在非标准位置查找这些模块。

这通常是为了允许非根用户将模块安装到他们的主目录中。

在您的情况下,您似乎设置了 PERL_M*_OPT,但没有设置 PERL5LIB。您需要将 PERL5LIB 设置为安装模块的位置,可能是 /home/bronson/perl5/lib/perl5/.


这一切都会变得有点毛茸茸。有两个工具可以使这更容易。

首先是Perlbrew。它将 Perl 安装在您的主目录中并为您配置所有内容。它甚至可以支持多个版本。这是开发 Perl 的最简单和推荐的方法。它让您完全控制 Perl 安装,您不受系统安装的限制。

另一种是使用local::lib来管理你的Perl环境。它将帮助您设置 Perl 环境变量以将 Perl 模块安装到您的主目录并使用它们。你现在可能有一个损坏的版本。