• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CPAN の初期設定のやり直し方を教えてください。)

CPANの初期設定のやり直し方

このQ&Aのポイント
  • 初めてCPANを使い、perl -MCPAN -e shellとしたのですが、国やCPAN サーバを聞いてこず、どうもうまくいっていないみたいです。
  • もう一度perl -MCPAN -e shellとやるのですが設定をきいてきません。
  • もう一度やり直すにはどうすればいいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.7

-eは判りますよね? コマンドラインでperlを1行のコマンドで動かすオプションで  詳しくは"perl ワンライナー" で検索してください   -MCPANについては http://homepage3.nifty.com/hippo2000/perltips/CPAN.htm MCPANというコマンドとかじゃなくて -MのオプションがCPAN つまりCPANモジュールをワンライナーで使うときの記述って事です。 File::Findモジュールをワンライナーで使うなら perl -MFile::Find -e 以下略 LWPなら perl -MLWP::Simple -e 以下略 http://digit.que.ne.jp/work/index.cgi?Perl%E3%83%A1%E3%83%A2%2FFile%3A%3AFind%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB http://homepage3.nifty.com/hippo2000/perltips/lwpcook.html#GET

noname#24489
質問者

お礼

ありがとうございます。CPANのモジュールを使うということだったんですね。 [root@localhost ~]# perldoc CPANとしたところ CPANモジュールの使い方が分かりました。^^ perlをコマンドラインで使うときのオプションはどこのマニュアルを みればよいでしょうか?探したのですが見つからなくて。 -pオプションなどあると思うのですが。

その他の回答 (7)

回答No.8

http://www-06.ibm.com/jp/developerworks/linux/010706/j_l-p101.html http://www-06.ibm.com/jp/developerworks/linux/030523/j_l-p102.html や、それらのリンクページですかねえ?  その辺りはあんまり詳しくないので、、、

noname#24489
質問者

お礼

ありがとうございます。^^ 難しそうですね。

回答No.6

1.# cp -rf /usr/lib/perl5/5.8.5/ /usr/lib/perl5/BK-5.8.5/  <=万一のためバックアップする 2. ブラウザなどで http://ftp.riken.jp/Linux/centos/4.4/os/i386/CentOS/RPMS/ などから perl-5.8.5-36.RHEL4.i386.rpm を /usr/local/src/ などにダウンロードする 3. (上記の状態だと)コマンドラインで/usr/local/src/ に移動してから # rpm2cpio perl*.rpm | cpio -id これで123456 blocks などと表示されたら /usr/local/src/usr/lib/perl5/5.8.5以下に展開されているので CPAN.pmなどを元の場所にコピーしなおす ##以上で削除前の状態に戻るはずです。 http://www.atmarkit.co.jp/flinux/rensai/linuxtips/522rpmcpio.html それから本題のCPANですが、私は使ったことないですが cpan2rpm というものが有るそうです http://centossrv.com/cpan2rpm.shtml

noname#24489
質問者

お礼

ありがとうございます。 上記の方法で試してみたところうまくいきました。^^ 初期設定をきいてきたのですが、再試行ばかりで 国やサーバーリストを選ぶところへはいけませんでしたが、 手動でkddilabsを設定してダウンロードできるようになりました。 このMCPANというのはソフトか何かでしょうか? man perlとしたところオプションになかったのですが。

回答No.5

あ、う、、、 今度からはrmでなくmvコマンドでfile名を変えるようにしてください 失敗しても元に戻せますので、、、、、 そうですね~~ perl自体をインストールしなおしたほうがいいかなあ? とりあえず以下を補足要求します 1、ディストリビューションとバージョン(例:Fedora Core5など) 2、Perlをどうやって入れたか?(OSインストール時のまま? yum? apt? それとも自分でコンパイル?)

noname#24489
質問者

お礼

ありがとうございます。 CentOS4.4を使っています。 Perlは何で入れたか自信がないです。^^;; [root@localhost yum.repos.d]# rpm -qa perl perl-5.8.5-36.RHEL4 yum remove perl-5.8.5-36.RHEL としたところ相当な数のパッケージが依存関係で削除されてしまうので perl-5.8.5-36.RHEL4のみアンインストールしてインストールしなおしたらいいのかと考えていますがどうでしょうか?

回答No.4

#3で煮え切らない書き方してましたが、 こちらで試して確認しました。 #3のConfig.Pmと /root/.cpan/ ディレクトリ  の2つを、削除または移動してから # perl -MCPAN -e shell  してください。 これで最初からやり直しになります。

noname#24489
質問者

お礼

わざわざためしていただいたんですね。 ありがとうございます。^^ さっそくためそうとしたのですが、 あやまって rm /usr/lib/perl5/5.8.5/CPAN.pm を削除してしまい、困ったことになってしまいました。rm /usr/lib/perl5/5.8.5/CPAN/*としたのですが同様のエラーがでます。perlそのものをアンインストールしたほうがいいでしょうか? rm /usr/lib/perl5/5.8.5/CPAN.pm rm: remove 通常ファイル `/usr/lib/perl5/5.8.5/CPAN.pm'? y [root@localhost ~]# perl -MCPAN -e shell Can't locate CPAN.pm in @INC (@INC contains: /usr/lib/perl5/5.8.5/i386-linux-thread-multi /usr/lib/perl5/5.8.5 /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .). BEGIN failed--compilation aborted.

回答No.3

cpan>o conf で打つと1行目に CPAN::Config options from /usr/lib/perl5/5.8.8/CPAN/Config.pm: と出てくるはずですが、その /usr/lib/perl5/5.8.8/CPAN/Config.pmを消すなり、 /usr/lib/perl5/5.8.8/CPAN/BK-Config.pmにmvしちゃうなりすれば出来るようですが、、、

回答No.2

>変更してみたのですが、どうもうまくいかないみたいです。 URL的には ftp://ftp.kddilabs.jp/CPAN/ で間違っていませんので ・原因1.ネットワークの問題 ・原因2.たまたまサーバーが死んでいた。or混み合っていた うちでもftp://ftp.kddilabs.jp/CPAN/を指定していますが install途中で何度も再試行がかかりますよ 試しにftp://ftp.kddilabs.jp/CPAN/を削除してから 存在しないURLを指定してinstall Bundle::SSHしてみたら 質問者さんのと同じようなメッセージになりました ブラウザで ftp://ftp.kddilabs.jp/CPAN/ ちゃんとアクセスできることを確認してからやり直すか また別のサーバーを選びなおしてみてはどうでしょうか?

noname#24489
質問者

お礼

ありがとうございます。 ブラウザでアクセスできるところは確かめました。 cpan> install Bundle::SSH CPAN: Storable loaded ok Going to read /root/.cpan/Metadata Warning: Found only 0 objects in /root/.cpan/Metadata となっているのが少し気になるのと、 初期設定で国やサーバーリストを聞かれなかったのが 気になるのですが、もう一度始めて接続したときのように初期設定をやり直すことはできないでしょうか?

回答No.1

root@localhost ~]# perl -MCPAN -e shell で cpan>o conf オプション で設定変更です http://www.drk7.jp/MT/archives/000885.html http://www.kozupon.com/perl/cpan.html <=の 2.

noname#24489
質問者

お礼

ありがとうございます。 変更してみたのですが、どうもうまくいかないみたいです。 urllist ftp://ftp.kddilabs.jp/CPAN 途中までですがこういう感じになります。 cpan> install Bundle::Test CPAN: Storable loaded ok Going to read /root/.cpan/Metadata Warning: Found only 0 objects in /root/.cpan/Metadata CPAN: LWP::UserAgent loaded ok Fetching with LWP: ftp://ftp.kddilabs.jp/CPAN/authors/01mailrc.txt.gz LWP failed with code[500] message[LWP::Protocol::MyFTP: Bad hostname 'ftp.kddilabs.jp'] Fetching with Net::FTP: ftp://ftp.kddilabs.jp/CPAN/authors/01mailrc.txt.gz Trying with "/usr/bin/links -source" to get ftp://ftp.kddilabs.jp/CPAN/authors/01mailrc.txt.gz ERROR at dump.c:188: Host not found System call "/usr/bin/links -source "ftp://ftp.kddilabs.jp/CPAN/authors/01mailrc.txt.gz" > /root/.cpan/sources/authors/01mailrc.txt" returned status 1 (wstat 256) Warning: expected file [/root/.cpan/sources/authors/01mailrc.txt.gz] doesn't exist Trying with "/usr/bin/wget -O -" to get ftp://ftp.kddilabs.jp/CPAN/authors/01mailrc.txt.gz --20:09:25-- ftp://ftp.kddilabs.jp/CPAN/authors/01mailrc.txt.gz => `-' ftp.kddilabs.jp をDNSに問いあわせています... 失敗しました: 名前解決時の一時的な失敗.

関連するQ&A