回答:
Unixの場合:
通常、シェルでcpanを起動します。
# cpan
そしてタイプ
install Chocolate::Belgian
または短い形式で:
cpan Chocolate::Belgian
Windowsの場合:
WindowsでActivePerlを使用している場合、PPM(Perl Package Manager)はCPAN.pmとほぼ同じ機能を備えています。
例:
# ppm
ppm> search net-smtp
ppm> install Net-SMTP-Multipart
Perlモジュールのインストール方法を参照してください。CPAN FAQ
多くのディストリビューションは、多くのperlモジュールをパッケージとして出荷しています。
apt-cache search 'perl$'
pacman -Ss '^perl-'
dev-perl
自動(セキュリティ)更新と削除の容易さから恩恵を受けるため、常にそれらを優先する必要があります。これはcpanでかなりトリッキーになる可能性がありますツール自体です。
Gentooには、CPANからモジュールをビルド/インストールし、Gentooパッケージ(ebuild)を作成するg-cpanという素晴らしいツールがあります。
ppm
ハイフンを使用します。これは、より正直です。たとえば、のインストールに使用した場合、またはディストリビューションがインストールされます。大部分のディストリビューションには、同等の名前の単一のモジュールが含まれていますが、そのようないくつかの例外があります-
cpan
LWP
LWP::Simple
LWP::UserAgent
libwww-perl
App :: cpanminusを試してください:
# cpanm Chocolate::Belgian
インストールするだけの場合に最適です。これは、CPANまたはCPANPLUSのより複雑な機能を提供しないため、インストールするモジュールがわかっていれば、簡単に使用できます。まだcpanminusを取得していない場合は、次のように入力します。
# cpan App::cpanminus
それをインストールします。
cpanをまったく使用せずにインストールすることもできます。基本的なブートストラップ手順は、
curl -L http://cpanmin.us | perl - --sudo App::cpanminus
詳細については、App :: cpanminusページに移動し、インストールに関するセクションを参照してください。
cpan
してインストールするのApp::cpanminus
は少し奇妙です。通常のインストール手順には、cpanmin.usからその一部をダウンロードし、それを使用して残りをインストールするブートストラップ手順が含まれます。これcpan
により、(その後)役に立たない.cpan
ディレクトリの構成と作成が回避されます。
cpanminus
ターミナルからインストールするだけです。エラーログが画面に表示されず、一時ログファイルに保存され、エラーが発生した場合のパスが示されるので、私はcpanm
より良い方法を見つけましたcpan
。
私は、sudoの下でcpanを1回実行することを提案している人々がいることに注意します。以前はシステムディレクトリにインストールするために必要でしたが、最新バージョンのCPANシェルでは、インストールのためだけにsudoを使用するように構成できます。これは、テストがrootとして実行されないことを意味するため、はるかに安全です。
古いCPANシェルがある場合は、新しいcpanをインストールして(「CPANのインストール」)、シェルをリロードすると、これらの新しいディレクティブを構成するように求められます。
最近では、古いCPANがインストールされているシステムを使用している場合、最初に行うことは、シェルを更新し、それをセットアップして、ほとんどのcpan作業を通常のユーザーとして実行できるようにすることです。
また、Windowsユーザーにはstrawberry Perlを調査することを強くお勧めします。これは、事前設定されたCPANシェルとコンパイラがパッケージされたバージョンのPerlです。また、XML :: Parserなどの外部Cライブラリの依存関係を持つ、コンパイルが難しいPerlモジュールも含まれています。これは、モジュールのインストールに関して、他のすべてのPerlユーザーと同じことを実行できることを意味し、物事はより頻繁に「うまくいく」傾向があります。
install CPAN
どこから?$sudo apt-get install cpan
?
数人がcpanユーティリティについて言及しましたが、それは単にシェルを起動するだけではありません。インストールするモジュールを指定して、機能させるだけです。
$prompt> cpan Foo::Bar
引数を指定しないと、CPAN.pmシェルが起動します。これはUnix、Macで機能し、Windows(特にStrawberry Perl)では問題ないはずです。
cpanツールを使用してできることは他にもいくつかあります。現在の機能の概要を以下に示します(CPAN.pmおよびperlに付属する機能よりも新しい可能性があります)。
-a
Creates the CPAN.pm autobundle with CPAN::Shell->autobundle.
-A module [ module ... ]
Shows the primary maintainers for the specified modules
-C module [ module ... ]
Show the Changes files for the specified modules
-D module [ module ... ]
Show the module details. This prints one line for each out-of-date module (meaning,
modules locally installed but have newer versions on CPAN). Each line has three columns:
module name, local version, and CPAN version.
-L author [ author ... ]
List the modules by the specified authors.
-h
Prints a help message.
-O
Show the out-of-date modules.
-r
Recompiles dynamically loaded modules with CPAN::Shell->recompile.
-v
Print the script version and CPAN.pm version.
「はい、CPANを使用することもできます」も参照してください。rootまたはsudoアクセスなしでCPANを使用する方法を示しています。
オットーは良い提案をしました。これはDebianだけでなく、他のDebian派生物でも機能します。欠けている部分は、apt-cache検索で何かが見つからない場合の対処法です。
$ sudo apt-get install dh-make-perl build-essential apt-file
$ sudo apt-file update
次に、インストールしたいランダムなモジュールがあるときはいつでも:
$ cd ~/some/path
$ dh-make-perl --build --cpan Some::Random::Module
$ sudo dpkg -i libsome-random-module-perl-0.01-1_i386.deb
これにより、Some :: Random :: Moduleを取得するためにインストールできるdebパッケージが提供されます。ここでの大きな利点の1つは、モジュール自体に加えて、manページとサンプルスクリプトがディストリビューションの選択した場所に配置されることです。ディストリビューションに新しいバージョンのSome :: Random :: Moduleの公式パッケージが付属している場合は、apt-getのアップグレード時に自動的にインストールされます。
すでに回答および承認済みの回答-とにかく:
私見CPANモジュールをインストールする最も簡単な方法(Unixのようなシステムで、Windowsについて何も知らない)は次のとおりです。
curl -L http://cpanmin.us | perl - --sudo App::cpanminus
上記はと呼ばれる「ゼロ構成CPANモジュールインストーラー」のインストールcpanm
です。(インストールには数分かかる場合があります-プロセスを中断しないでください)
その後-単に:
cpanm Foo
cpanm Module::One
cpanm Another::Module
の推奨事項はたくさんありCPAN.pm
ますが、これを使用している場合は、どちらにPerl 5.10
でもアクセスできるCPANPLUS.pm
ようにCPAN.pm
なります。
そしてもちろん、それはCPAN
まだ古いバージョンのPerlを使用している人々のために利用可能です。試してみませんか:
$ cpan CPANPLUS
多くの場合、cmake installコマンドが失敗し、「make testは不正なステータスを返しました。強制しないとインストールできません」のようなメッセージが表示されます
その場合、以下はモジュールをインストールする方法です:
perl -MCPAN -e "CPAN::Shell->force(qw(install Foo::Bar));"
cpanコマンドを次のように使用します cpan Modulename
$ cpan HTML::Parser
依存関係をインストールするには、以下に従ってください
$ perl -MCPAN -e shell
cpan[1]> o conf prerequisites_policy follow
cpan[2]> o conf commit
exit
私はApp :: cpanminusを好み、依存関係を自動的にインストールします。するだけ
$ cpanm HTML::Parser
私が知っている2つの方法:
PPMの使用:
Windowsの(のActivePerl)私が使用したppmで
コマンドラインから「ppm」と入力します。ppmプロンプトで...
ppm> install foo
または
ppm> search foo
利用可能なfooモジュールのリストを取得します。タイプヘルプすべてのコマンドについて
CPANの使用:
次のようにCPANを使用することもできます(* nixシステム):
perl -MCPAN -e 'shell'
あなたにプロンプトを出します
cpan>
プロンプトで...
cpan> install foo (again to install the foo module)
cpanのコマンドのリストを取得するには、hと入力します
Fedoraで使用できます
# yum install foo
Fedoraがモジュールの既存のパッケージを持っている限り。
上Fedora Linux
やEnterprise Linux
、yum
また、perlのライブラリの依存関係を追跡します。そのため、perlモジュールが使用可能で、一部のrpmパッケージがその依存関係をエクスポートする場合、適切なパッケージがインストールされます。
yum install 'perl(Chocolate::Belgian)'
(おそらくperl-Chocolate-Belgianパッケージ、あるいはChocolateFactoryパッケージさえ)
時には、を使用しyum search foo
て関連するperlモジュールを検索してから、を使用yum install xxx
してインストールできます。
安全なソリューション
多くの回答が、セキュリティについて何も言わずにcpan
ユーティリティ(を使用CPAN.pm
)の使用について言及しています。デフォルトでは、CPAN
2.27以前urllist
はhttp URL(つまり、http: //www.cpan.org/)を使用するように構成されているため、MITM攻撃を許可するため、安全ではありません。これは、ダウンロードに使用されるものですCHECKSUMS
ファイルためにため、安全なURL(例:https : //www.cpan.org/)に変更する必要があります。
そのため、cpanを実行してデフォルトの構成を受け入れた後、生成されたMyConfig.pm
ファイル(フルパスが出力されます)を次のように変更する必要があります。交換する
'urllist' => [q[http://www.cpan.org/]],
沿って
'urllist' => [q[https://www.cpan.org/]],
注:httpsでは不十分です。信頼できるWebサイトも必要です。したがって、任意のミラーを選択する場合は注意してください。
その後、使用できます cpan
、通常の方法で。
安全でないURLに関するrt.cpan.orgに関する私のバグレポート。
あなたはすでにあなたの答えを持っているようですが、私は私がチャイムを鳴らすだろうと考えました。これは私がUbuntu(またはdebianサーバー)のいくつかのスクリプトで行うことです
#!/usr/bin/perl
use warnings;
use strict;
#I've gotten into the habit of setting this on all my scripts, prevents weird path issues if the script is not being run by root
$ENV{'PATH'} = '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin';
#Fill this with the perl modules required for your project
my @perl = qw(LWP::Simple XML::LibXML MIME::Lite DBI DateTime Config::Tiny Proc::ProcessTable);
chomp(my $curl = `which curl`);
if(!$curl){ system('apt-get install curl -y > /dev/null'); }
chomp(my $cpanm = system('/bin/bash', '-c', 'which cpanm &>/dev/null'));
#installs cpanm if missing
if($cpanm){ system('curl -s -L http://cpanmin.us | perl - --sudo App::cpanminus'); }
#loops through required modules and installs them if missing
foreach my $x (@perl){
eval "use $x";
if($@){
system("cpanm $x");
eval "use $x";
}
}
これは私にはうまくいきます、多分ここにあなたが使うことができる何かがあります。