0
我想安装一个缺少的模块使用我的脚本,因为我不能指望我的用户做任何简单的事情,因为安装缺少模块。无法找到包CPAN :: Debug for @CPAN :: Shell :: ISA在
use strict;
use warnings;
use CPAN::Shell;
sub try_load {
my $mod = shift;
eval("use $mod");
if ([email protected]) {
#print "\[email protected] = [email protected]\n";
return(0);
} else {
return(1);
}
}
my $module = 'URI::Escape';
if (try_load($module)) {
print "loaded\n";
} else {
print "not loaded\n";
CPAN::Shell->install("URI::Escape");
# system("ppm install ");
}
但我总是得到一个错误上面的测试脚本:
Can't locate package CPAN::Debug for @CPAN::Shell::ISA at checkmodule.pl line 3.
但是当我做:
my $module = 'CPAN::Debug';
if (try_load($module)) {
print "loaded\n";
} else {
print "not loaded\n";
CPAN::Shell->install("CPAN::Debug");
# system("ppm install ");
}
我得到的消息loaded
意思我有CPAN::Debug
???。
我不能这样做:perl -MCPAN -e shell
,因为CPAN认为我的GCC 4.6.1版本不够好,想要安装4.6.3,这会破坏我的许多开发环境以及安装的工具我的用户系统。 [我真的希望强制CPAN使用我的系统版本的MinGW GCC,但我不知道如何,但这是另一次]。
有没有人知道我可以解决这个错误上面在我的标题? 谢谢!
它字面上谈论工作这个包,就像在命名空间中一样。问题*不是*模块无法加载;这是它*没有*加载。这似乎表明你已经搞砸了CPAN :: Shell或CPAN :: Debug。 – ikegami
hey @ikegami,我如何强制CPAN使用我的系统版本的GCC,而不是下载并安装更新的GCC?我不想升级,因为我的一些工具是使用GCC的旧版本进行编译的,如果我升级它将会搞乱很多其他的东西。我试图让工作更轻松,而不是更难。 – YouHaveaBigEgo
我不知道。这是ActiveState添加到他们的发行版中的功能。 – ikegami