web-dev-qa-db-ja.com

モジュールをインストールするにはどうすればよいですか? StrawberryPerlの問題

Windows7のStrawberryPerl内にPerlモジュールをインストールしようとしています。

以下のコマンドを実行していますが、理解できないメッセージが多数表示されます。ページにアクセスできないかのように、500エラーが発生しているようです。ただし、ブラウザでミラーを指定すると、FTPディレクトリへのアクセスに問題はありません。 LinuxでのPerlの経験はほとんどなく、Windowsでは経験がありません。手動でミラーをurllistに追加しようとしましたが、役に立たなかったと思います。

C:\Program Files> cpan Win32::IE::Mechanize

CPAN: LWP::UserAgent loaded ok (v5.835)
CPAN: Time::HiRes loaded ok (v1.9721)
Fetching with LWP:
http://cpan.strawberryperl.com/authors/01mailrc.txt.gz
LWP failed with code[500] message[Can't connect to cpan.strawberryperl.com:80 (Bad hostname 'cpan.strawberryperl.com')]
Warning: no success downloading 'C:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'. Giving up on it.
Fetching with LWP:
ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz
LWP failed with code[500] message[LWP::Protocol::MyFTP: Bad hostname 'mirror.teklinks.com']
Fetching with Net::FTP:
ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz
  Could not connect to Host 'mirror.teklinks.com' with Net::FTP
Fetching with Net::FTP
ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz.gz
  Could not connect to Host 'mirror.teklinks.com' with Net::FTP
Warning: no success downloading 'C:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'. Giving up on it.
Warning: no success downloading 'C:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'. Giving up on it.

As a last resort we now switch to the external ftp command 'C:\WINDOWS\system32\ftp.EXE'
to get 'C:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'.

Doing so often leads to problems that are hard to diagnose.

If you're the victim of such problems, please consider unsetting the
ftp config variable with

    o conf ftp ""
    o conf commit

Issuing "C:\WINDOWS\system32\ftp.EXE -n"

  Trying with external ftp to get
    ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz
  Going to send the dialog
    open mirror.teklinks.com
    user anonymous [email protected]
    lcd C:\strawberry\cpan\sources\authors
    cd /
    cd CPAN
    cd authors
    bin
    passive
    get 01mailrc.txt.gz 01mailrc.txt.gz.tmp5264
    quit

Unknown Host mirror.teklinks.com.
Not connected.
Local directory now C:\strawberry\cpan\sources\authors.
Not connected.
Not connected.
Not connected.
Not connected.
Invalid command.
Not connected.
Bad luck... Still failed!
Can't access URL ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz.

Fetching with LWP:
http://cpan.strawberryperl.com/authors/01mailrc.txt.gz
LWP failed with code[500] message[Can't connect to cpan.strawberryperl.com:80 (Bad hostname 'cpan.strawberryperl.com')]
Warning: no success downloading 'C:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'. Giving up on it.
Warning: no success downloading 'C:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'. Giving up on it.
Fetching with LWP:
ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz
LWP failed with code[500] message[LWP::Protocol::MyFTP: Bad hostname 'mirror.teklinks.com']
Fetching with Net::FTP:
ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz
  Could not connect to Host 'mirror.teklinks.com' with Net::FTP
Fetching with Net::FTP
ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz.gz
  Could not connect to Host 'mirror.teklinks.com' with Net::FTP
Warning: no success downloading 'C:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'. Giving up on it.
Warning: no success downloading 'C:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'. Giving up on it.

As a last resort we now switch to the external ftp command 'C:\WINDOWS\system32\ftp.EXE'
to get 'C:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'.

Doing so often leads to problems that are hard to diagnose.

If you're the victim of such problems, please consider unsetting the
ftp config variable with

    o conf ftp ""
    o conf commit

Issuing "C:\WINDOWS\system32\ftp.EXE -n"

  Trying with external ftp to get
    ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz
  Going to send the dialog
    open mirror.teklinks.com
    user anonymous [email protected]
    lcd C:\strawberry\cpan\sources\authors
    cd /
    cd CPAN
    cd authors
    bin
    passive
    get 01mailrc.txt.gz 01mailrc.txt.gz.tmp5264
    quit

Unknown Host mirror.teklinks.com.
Not connected.
Local directory now C:\strawberry\cpan\sources\authors.
Not connected.
Not connected.
Not connected.
Not connected.
Invalid command.
Not connected.
Bad luck... Still failed!
Can't access URL ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz.

CPAN: YAML loaded ok (v0.73)
Please check, if the URLs I found in your configuration file
(http://cpan.strawberryperl.com/, ftp://mirror.teklinks.com/CPAN/) are
valid. The urllist can be edited. E.g. with 'o conf urllist Push
ftp://myurl/'

Could not fetch authors/01mailrc.txt.gz
17
Brian

これは簡単にファイアウォール/プロキシの問題です。 cpanhttp_proxy変数を設定する必要があります。

シェルコマンドプロンプトでcpanと入力し、を押してCPANシェルに入ります。 Enter。 CPANシェルに入ったら、次のように入力します。

o conf http_proxy http://proxy.mycorp.com:8080/

cpanは、少なくともHTTPトラフィックにプロキシを使用できるように、ユーザー名とパスワードの入力を求められる場合があります。

FTPアクセスがファイアウォールによってブロックされている可能性があります。 cpanはこれを回避します。

  • プロキシ設定が簡単な場合は、ブラウザを参照できます。
  • より複雑な場合は、[.____]する必要があります。
    • ブラウザアドレスの構成スクリプトへのURLを貼り付けます
    • ブラウザからプロンプトが表示されたら、そのURLをエディタで開きます(または、HTTP URLを取得するエディタを使用します( jEditNotepad ++ など))。

場所とCPANのケースを解析したら、返されたサーバー名を取得し、ポートがあれば追加して、環境変数またはcpan構成に値を設定できます。

19
Axeman

これはプロキシの問題のようです。 CPANシェルは、プロキシについて認識できるように設定する必要のある環境変数を使用します。ブラウザーからそれらを検出することはできません。

環境変数は次のとおりです。

http_proxy         Proxy Host for HTTP requests
ftp_proxy          Proxy Host for FTP  requests

Windowsを使用しているため、同じコマンドシェルから次のいずれかを実行できます。

C:\> set http_proxy=http://proxy.sn.no:8001/
C:\> set ftp_proxy=http://proxy.sn.no:8001/
C:\> cpan

その後、前と同じようにインストールしてみてください。 CPANはFTPを使用しているため、ftp_proxyを設定する必要があります(もちろん、そのURLは通常HTTPのものです)。

システムコントロールパネルで、通常は詳細設定の環境変数の下で、環境変数を永続的に設定することもできます。システムまたは現在のユーザーのいずれかに設定できます。非常に正当な理由がない限り、システム全体に設定しないことをお勧めします。

プロキシが実際に何であるかを理解する必要があります。お使いのブラウザは知っているはずなので、インターネットの設定を見てください。

7
Stuart Watt

私は同様の問題を抱えていましたが、ここでの解決策では修正されませんでした。 3台のマシンでStrawberryPerlを5.18.2.1から5.20.1.1にアップグレードしたところ、CPANは2台のWindows 7マシンで動作しましたが、Windows Server2003マシンでは動作しませんでした。

結局、私にとってそれを修正したのは、CPAN構成ファイル(私の場合はC:\strawberry\Perl\lib\CPAN\Config.pm)を削除することでした。私はCPANを開始し、reload indexを実行しました。もう一度資格情報の入力を求められたので(使用するプロキシには必要ありません)、Enterキーを2回押して空白のままにすると、接続してインデックスを更新できました。

以前のバージョンをアンインストールした後、新しいバージョンをインストールする前に、StrawberryPerlリリースノートでC:\strawberryを削除するようにという警告を以前に見たことを思い出します。今回はそのような警告はないようですが、とにかくそれは良い習慣だと思います。

余談ですが、CPANを再び機能させる前に使用した一時的な回避策は、libsite、およびvendorディレクトリ間でコピーすることでした。すでにPerlをアップグレードしており、CPAN didは引き続き機能します。このようにして、CPANが実際に機能することなく、必要なすべてのモジュールを入手できました。 (2台のマシンは同じアーキテクチャであり、アップグレードするには同じインストーラーが必要です。)

3
Richard Wiseman

StrawberryPerl環境のCPAN構成ファイルは次のとおりです。

c:\Strawberry\Perl\lib\CPAN\Config.pm .

特定のユーザーの構成定義は、MyConfig.pmの下にあるC:\Users\user name\AppData\Local\.cpan\CPAN\ファイルに書き込まれます。プロキシ定義は、これらのファイルの1つでオーバーライドできます。

0
D.Fa