0

インストールされているすべての CPAN モジュールを毎晩自動的に更新したいので、次のコマンドを に配置しましたcrontab

@daily cpan -i $(cpanp -o | perl -lane 'print $F[3]')

ただし、これを実行するたびに、次のエラー メッセージが表示されます。

Unable to get Terminal Size. The TIOCGWINSZ ioctl didn't work. The COLUMNS and
LINES environment variables didn't work. The resize program didn't work. at
/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/Term/ReadKey.pm
line 362.
Compilation failed in require at /usr/lib/perl5/site_perl/5.8.8/Term/ReadLine
/Perl.pm line 63.

これを機能させるにはどうすればよいですか?

4

3 に答える 3

3

月曜日に戻ってきてください。あなたが私のためにそれをテストすることを約束するなら、私はそれを行うための-uコマンドを追加します. App::Cpanからcpan最新のものを取得する必要があります。cpan

わかった、月曜日まで待たないで。変更をcpan-script Github repoにプッシュしました。App-Cpan 1.56_15 は CPAN に向けて進行中です。

何か問題がある場合、または新しい機能で期待どおりの結果が得られない場合はお知らせください。

于 2009-11-12T22:58:45.217 に答える
2

これを行うためにcpanオプションを追加したので、brian d foyの回答を使用してください

モジュールのリストを CPAN で更新しようとしていますか、それとも古いモジュール (d/l、コンパイル、インストール) を実際に更新しようとしていますか? モジュールがインターフェイスを変更し、既存のスクリプトが失敗する可能性があるため、これは危険な場合があります。このエラーは、CPAN が Term::ReadLine と Term::ReadKey を使用して端末に問い合わせようとしたために発生します。

すべてのモジュールを本当にアップグレードしたい場合は、次のコマンドを使用できます。

perl -MCPAN -e 'CPAN::Shell->install(CPAN::Shell->r)'

これは、すべての古いモジュールについて CPAN に問い合わせるために、ドキュメントに記載されているコマンドからの小さな変更です。

https://metacpan.org/pod/CPAN#PROGRAMMERS-INTERFACE

于 2009-11-12T21:18:47.467 に答える
0

COLUMNS および LINES 環境変数が機能しませんでした。

COLUMNSおよびLINES環境変数を設定してみてください。

COLUMNS=80
LINES=24
@daily cpan -i $(cpanp -o | perl -lane 'print $F[3]')
于 2009-11-12T21:24:36.313 に答える