217

次のエラーが表示されます。

Can't locate Foo.pm in @INC

ダウンロード、解凍、作成などよりも簡単にインストールする方法はありますか?

4

24 に答える 24

254

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 モジュールをパッケージとして出荷しています。

  • Debian/Ubuntu:apt-cache search 'perl$'
  • アーチ Linux:pacman -Ss '^perl-'
  • Gentoo: カテゴリdev-perl

自動 (セキュリティ)更新削除の容易さの恩恵を受けるため、常にそれらを優先する必要があります。これは、 cpanツール自体では非常に扱いにくい場合があります。

Gentoo には、CPAN からモジュールをビルド/インストールし、Gentoo パッケージ ( ebuild ) を作成するg-cpanという便利なツールがあります。

于 2008-09-15T19:17:52.553 に答える
68

App::cpanminus を試してください:

# cpanm Chocolate::Belgian

ものをインストールするのに最適です。CPAN や CPANPLUS ほど複雑な機能は提供しないため、インストールするモジュールがわかっている場合は簡単に使用できます。まだ cpanminus を取得していない場合は、次のように入力します。

# cpan App::cpanminus

インストールします。

cpan をまったく使わずにインストールすることも可能です。基本的なブートストラップ手順は、

curl -L http://cpanmin.us | perl - --sudo App::cpanminus

詳細については、App::cpanminus ページに移動し、インストールに関するセクションを参照してください。

于 2010-08-28T08:34:48.363 に答える
29

sudoの下でcpanを実行することを提案している人もいます。以前はシステムディレクトリにインストールする必要がありましたが、最新バージョンのCPANシェルでは、インストールのためだけにsudoを使用するように構成できます。これは、テストがrootとして実行されないことを意味するため、はるかに安全です。

古いCPANシェルがある場合は、新しいcpanをインストールする(「CPANをインストールする」)だけで、シェルをリロードすると、これらの新しいディレクティブを構成するように求められます。

現在、古いCPANを使用しているシステムを使用している場合、最初に行うことは、シェルを更新して、これを実行するように設定することです。これにより、ほとんどのcpan作業を通常のユーザーとして実行できます。

また、WindowsユーザーはストロベリーPerlを調査することを強くお勧めします。これは、事前構成されたCPANシェルとコンパイラーがパッケージ化されたバージョンのPerlです。また、外部Cライブラリの依存関係を持つコンパイルが難しいPerlモジュール、特にXML::Parserも含まれています。これは、モジュールのインストールに関しては、他のすべてのPerlユーザーと同じことを実行できることを意味し、物事はより頻繁に「正常に機能する」傾向があります。

于 2008-09-15T20:08:08.177 に答える
26

Ubuntu を使用していて、事前にパッケージ化された perl モジュール (geo::ipfree など) をインストールする場合は、次のようにしてください。

    $ apt-cache search perl geo::ipfree
    libgeo-ipfree-perl - IP アドレスの国を検索する Perl モジュール

    $ sudo apt-get install libgeo-ipfree-perl
于 2008-09-15T19:21:23.950 に答える
16

何人かの人々が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.
于 2008-09-15T22:47:11.740 に答える
12

sudo perl -MCPAN -e 'install Foo'

于 2008-09-15T19:17:11.370 に答える
10

Yes, even you can use CPAN も参照してください。root または sudo アクセスなしで CPAN を使用する方法を示します。

于 2008-09-16T06:36:04.810 に答える
8

オットーは良い提案をしました。これは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つは、モジュール自体に加えて、マニュアルページとサンプルスクリプトがディストリビューションの選択した場所に配置されることです。ディストリビューションにSome::Random :: Moduleの新しいバージョンの公式パッケージが付属している場合は、apt-getupgrade時に自動的にインストールされます。

于 2008-09-16T19:25:35.493 に答える
7

すでに回答し、回答を受け入れました-しかしとにかく:

私見では、CPANモジュールをインストールする最も簡単な方法(UNIXライクなシステムで、驚異についてはわかりません)は次のとおりです。

curl -L http://cpanmin.us | perl - --sudo App::cpanminus

上記は、と呼ばれる「ゼロ構成CPANモジュールインストーラー」をインストールしていますcpanm。(インストールには数分かかる場合があります-プロセスを中断しないでください)

そして後-単に:

cpanm Foo
cpanm Module::One
cpanm Another::Module
于 2011-05-22T18:19:38.007 に答える
6

の推奨事項がたくさんありCPAN.pmますが、これは素晴らしいことですが、使用している場合は、より優れたものPerl 5.10にアクセスすることもできます。CPANPLUS.pmCPAN.pm

そしてもちろん、CPANまだ古いバージョンの Perl を使用しているユーザーも利用できます。試してみませんか:

$ cpan CPANPLUS
于 2008-09-16T15:25:57.220 に答える
5

多くの場合、cpan install コマンドが失敗し、 「make test が悪いステータスを返しました。強制しないとインストールできません」などのメッセージが表示されます。

その場合、モジュールをインストールする方法は次のとおりです。

perl -MCPAN -e "CPAN::Shell->force(qw(install Foo::Bar));"
于 2012-11-10T02:24:59.020 に答える
5

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
于 2014-05-14T05:38:57.013 に答える
4

ubuntuでは、ほとんどのperlモジュールがすでにパッケージ化されているため、コンパイルが必要な他のほとんどのシステムよりもインストールがはるかに高速です。

たとえば、コマンドプロンプトでインストールするFoo::Barには、通常、次のようにします。

sudo apt-get install libfoo-bar-perl

残念ながら、すべてのモジュールがその命名規則に従っているわけではありません。

于 2013-02-22T13:02:57.177 に答える
4

それでも動作するはずです:

cpan -i module_name
于 2011-05-22T15:55:25.263 に答える
3

私が知っている2つの方法:

PPM の使用:

Windows (ActivePerl) では ppm を使用しました

コマンドラインから ppm と入力します。ppmプロンプトで...

ppm> install foo

また

ppm> search foo

利用可能な foo モジュールのリストを取得します。すべてのコマンドに対してhelpと入力します

CPAN の使用:

次のように CPAN を使用することもできます ( *nix systems ):

perl -MCPAN -e 'shell'

プロンプトを表示します

cpan>

プロンプトで...

cpan> install foo  (again to install the foo module)

h と入力して、cpan のコマンドのリストを取得します。

于 2008-09-15T19:27:42.453 に答える
3

Fedoraでは、使用できます

# yum install foo

Fedora にモジュール用の既存のパッケージがある限り。

于 2008-11-21T19:59:27.450 に答える
2

yum search fooを使用して関連する perl モジュールを検索し、 を使用yum install xxxしてインストールできる場合があります。

于 2014-05-20T08:14:12.000 に答える
0

Perl の ActiveState ディストリビューションを使用する Windows では、ppmコマンドを使用します。

于 2008-09-15T19:26:21.113 に答える