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