26

cpancpanmコマンドの違いは何ですか?

perlどちらもモジュールをインストールしているように見えますが、違いは何ですか?

4

2 に答える 2

28

cpanCPAN シェルは 1997 年頃から Perl に同梱されています。初めて実行すると、一連の質問が表示され、回答が構成ファイルに保存されます。次に、次を実行してモジュールをインストールできます。

cpan -i Module::Name

シェルは、CPAN を検索し、配布ファイル内を調べるための他のコマンドを提供します。

CPANPLUS (cpanpコマンドラインから)と呼ばれる、より新しく、より優れた、より機能的な CPAN シェルを作成するプロジェクトがJos Boumansによって開始されましたが、元のビジョンが実現されるまでには完全には完了しませんでした。

一方、 MIYAGAWAは、それcpanpはやりすぎだと判断し、世界が本当に必要としているのは、実行量が少なく、質問が少ない (理想的にはまったく質問がない) 単純なシェルであると判断しました。彼はApp::cpanminusを作成しました。これはコマンドを提供し、cpanmまさに彼が意図したことを実行します。次のようなコマンドを使用して、モジュール (およびすべてのモジュールの依存関係) をインストールするために使用できます。

cpanm Module::Name

2 つの主な違いは、Perl を使用している場合は、cpanコマンドが既にあるということです。cpanmただし、インストールしない限り/インストールするまではありません。

于 2016-07-08T01:41:07.623 に答える
18

最近のほとんどの Perl ユーザーcpanmは、その単純さと主に出力の簡潔さを好みます。

ダウンロード、チェックサム、インストーラーcpanの実行、解析、読み込み、リストが続きます。同じことがすべての依存関係に適用されます。

cpanm一方、より簡潔で一般的な方法で何をしているのかを示します。つまり、取得、構成、構築とテスト、完了です。

したがって、使用方法の主な違いはcpanm、多くの (通常は) 無関係な情報を抑制することです。モジュールに障害が発生した場合、より多くの情報が必要になることがあります。-v|--verbose基本的にすべてを示すフラグがありますcpan

また、ユーザー入力が必要な一部のモジュールは、インストールしようとすると「ハング」したように見える場合があります。これは、入力を求める出力が抑制されているためです。--interactive(または) フラグを使用して、これ--verboseを回避できます。

出力の比較については、こちらの スライド 35 ~ 39 またはこちらのスライド 37 ~ 41 を参照してください。(これらは同じプレゼンテーションからのものです。リンクがオフラインになった場合に備えて、リンクを複製しています。)

于 2016-07-08T03:19:50.390 に答える