2016-11-04 11 views
0

私のスクリプトを使って不足しているモジュールをインストールしようとしています。モジュール。@CPAN :: Shell :: ISAのパッケージCPAN :: 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 "); 
} 

を私はCPAN::Debugを持っていないメッセージloaded意味を取得???

私はできません:perl -MCPAN -e shell CPANはGCC 4.6.1の私のバージョンが十分ではなく、4.6.3をインストールすることを決めたため、インストールされているツールと多くの開発環境が壊れてしまいます。私のユーザーシステム。 [私は本当にCPANに自分のシステムバージョンのMinGW GCCを使用させたいと思っていますが、私は方法はわかりませんが、それは別の時です]。

誰も私のタイトルで上記のエラーを回避する方法を知っていますか? ありがとう!

+0

のために働く必要が隔離

に使用するものではありません名前空間のようにパッケージ問題は*モジュールがロードできないことではありません。それは*ロードされていないことです。 CPAN :: ShellまたはCPAN :: Debugが混乱していることを示しているようです。 – ikegami

+0

ちょっと@ikegami、新しいGCCをダウンロードしてインストールするのではなく、私のシステムのバージョンのGCCをCPANに使用させるにはどうすればいいですか?私のツールのいくつかは古いバージョンのGCCを使ってコンパイルされているので、アップグレードしたくないのですが、アップグレードすれば他の多くのものが混乱するでしょう。私は仕事を楽にするつもりです。 – YouHaveaBigEgo

+0

私は分かりません。これは、ActiveStateがディストリビューションに追加する機能です。 – ikegami

答えて

0

CPAN::ShellCPANモジュールのただ一つの成分で、あなただけのuse CPANにごuse文を変更する場合、すべてはあなたがそれは文字通り話して

関連する問題