我正在尝试在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 模块在我的系统上运行?任何帮助表示赞赏。谢谢。
编辑 env | grep -i perl
会产生:
PERL_MB_OPT=--install_base "/home/bronson/perl5"
PERL_MM_OPT=INSTALL_BASE=/home/bronson/perl5
答案 0 :(得分:1)
您的cpan
客户端似乎配置错误,似乎没有适当的CPAN模块列表。 cpanm
是一个比cpan
更加用户友好的CPAN客户端,我推荐使用它。
如果新安装的cpanm
安装了该模块但您仍然收到错误,并且which perl
和#!
行中的Perl相同,那么模块可能安装在标准Perl库位置之外。有几种方法可以实现,第一种方法是检查影响安装的环境变量。 env | grep -i perl
是一个好的开始。 PERL_MB_OPT
和PERL_MM_OPT
之类的内容将改变cpan
和cpanm
调用Build.PL和Makefile.PL安装程序的方式。
如果设置了PERL_M*_OPT
,则应该有相应的PERL5LIB
告诉Perl查看这些模块的非标准位置。
通常这样做是为了允许非root用户将模块安装到其主目录中。
在您的情况下,您似乎设置了PERL_M*_OPT
但没有设置PERL5LIB
。您需要将PERL5LIB
设置为安装模块的位置,可能是/home/bronson/perl5/lib/perl5/
。
这一切都有点毛茸茸。有两种工具可以使这更容易。
首先是Perlbrew。它在您的主目录中安装Perl并为您配置一切。它甚至可以支持多个版本。这是开发Perl的最简单和推荐的方法。它使您可以完全控制Perl安装,而不依赖于系统的安装。
另一种方法是使用local::lib
来管理您的Perl环境。它将帮助您设置Perl环境变量,以将Perl模块安装到您的主目录并使用它们。你现在可能有一个错误的版本。