2009-03-05 19 views

答えて

7

ソースコードをダウンロードすると、一般にMakefile.PLが作成されます。 "perl Makefile.PL; make; make test; make install"を実行すると、ビルドしてインストールします。

明らかにCPAN.pmを使用していない場合は、自分で依存関係を処理する必要があります。

また、CPAN.pmを使用できない理由は、/ usr/lib/perlにインストールする権限がないため、CPAN.pmを強制的にローカルにインストールすることができますが、忘れてしまいます。

+1

またはModule :: Buildベースのディストリビューション:perl Build.PL; perlビルド; perlビルドテスト。 perlビルドインストール – ysth

+2

CPANシェルに "o conf init"を実行するのが、すべてを再構成する最も簡単な方法です。 – Schwern

+0

makepl_argとbuildpl_argの両方の値を設定して、ビルド時に任意の値を設定することができます。 CPAN.pmのドキュメントを参照してください。 –

0

.pmファイルが純粋なPerlであり、コンパイルする必要がない場合は、アプリケーションのlibフォルダに入れて通常どおりに使用できます。

+0

明確にするには、システムのperl libフォルダではなく、アプリケーションのlibフォルダにする必要があります。あなたのシステムperl libに手動でファイルを追加することは、後で依存関係を願っているだけです。 – denkfaul

+0

良い点は、私の答えをeditted。私はperlのlibsフォルダに.pmsを入れましたが、私はそれらを開発していましたが、依存関係はありませんでした:D –

+0

私はUserAgent.pmを持っています。 私はちょうどそれをプログラムのフォルダに入れることができますか?依存関係がある場合はどうなりますか? – lamcro

32

ソースコードをダウンロードし、READMEファイルを読んでください。これはおそらく、問題は何もrootアクセスされていない場合、私はCPAN.pmと、非ルート・インストールのためにlocal::libを見てもthis webpageをお勧めしますが

perl Makefile.PL 
make 
make test 
make install 

または

perl Build.PL 
./Build 
./Build test 
./Build install 
1

を行う必要がありますことを教えてくれます。

質問に答えてもらえれば、CPANまたはCPANPLUSは役に立ちますが、必須ではありません。レオンの言うように、あなたはいつも古風なやり方で行うことができますが、通常はそうしない方が簡単です。

+0

「o conf init」を実行して、完全なCPAN構成をやり直すこともできます。 – Schwern

+0

コンパイラとmakeへのアクセスが適切であれば、あなたのホームディレクトリにlocal :: libをブートストラップすることができ、ルートアクセスは全く必要ありません。一方、私はこのアプローチの有用性を制限する非常にロックダウンされたコンパイラを備えたsolarisボックスを見てきました。 – singingfish

3

Linuxの場合、通常、パッケージの大部分は組み込みパッケージマネージャを使用して取得できます。あなたはPostgreSQLのPerlモジュールをインストールしたい場合たとえば、Ubuntuシステムには、簡単なDOをしたい:

sudo apt-get install libpg-perl 

あなたがここにUbuntuのためのモジュールのリストを見ることができます:http://packages.ubuntu.com/hardy/perl/

私は私を見つけます自分自身の名前をよく推測することができます。これがまったく役立つかどうかはわかりませんが、CPANよりも使いやすくなることはよくあります。

+1

これはあなたのシステムPerlにインストールされるという問題があります。あなたがしていると思っても、しばしばそれを望んでいません。 –

0

Red Hat(Fedora、CentOS)を使用している場合は、可能な限りPerl依存関係にRPMを使用する必要があります。 Perlパッケージはとほぼ常に perl-Module-Nameという名前です。 perl-DBI、perl-Spreadsheet-WriteExcelなど

命名規則はlibmodule-name-perlです。

+0

これはあなたのシステムPerlにインストールされるという問題があります。あなたがしていると思っても、しばしばそれを望んでいません。 –

-1

私は他の人と同様に、CPAN.pmを使用することを強く勧めます。それは、あなたが自動的に必要とするモジュールに関連する依存関係を使用して解決することができます。

一方、私はあなたがperldocにあるperlmodinstallの文書を読むことをお勧めします。他のosの詳細についても述べています。How to install perl modules using CPAN without root

私はrootアクセスせずにサーバー上でこれを設定しているとCPANには、自動的にすべてのことを行います。

よろしく、

ジェフは

+0

使い方は簡単です。 minGWでcpan.pmを使ってみましたか?非常に難しいです。メモリが足りなくなり、失敗したり、権限がないディレクトリにインストールしようとするか、答えがわからないような難問が多すぎます。 – Dmitry

+0

私はWindowsを使用せず、結果としてMiniGWを試したことはありませんが、それ自体に問題があるようです。あなたは、VirtualBoxのようなものでVM内のLInuxを実行し、それがあなたのためにどのように動作するかを見てみたいかもしれません。 – numberwhun

2

はこちらを参照してください。

しかし、あなたが本当にたいが、CPANのないモジュールをインストールし、ルート(あなたがしたいが、CPANを使用していないので、このことを仮定して)を持っていない場合

perl Makefile.PL PREFIX=$HOME 
make 
make install 

を次のように、あなたはそれを行うことができます依存関係を自分で見つけなければならないので、CPANを使う方が良いでしょう。

0

私たちはあなたのターミナルから、そしてターミナルを持っていても、すべてのperlモジュールをubuntuにインストールできます。 ubuntuサーバーを使用している場合は、 'sudo apt-get install "perl_module"' "perl_module"に名前を付けるだけのモジュールは、Apache2 :: Cookieをインストールすることを意味します。 "libapreq2"なので、 "sudo apt-get install libapreq2"

-1

あなたはCPANに問題があると言いたいのですが...あなたはおそらくRAMが不足していますCPANを使うことができない理由です。

スワップファイルがない可能性があります。試してみてください:

$ sudo su 
# dd if=/dev/zero of=/swap bs=1M count=1k # create a 1GB file 
# mkswap /swap 
# swapon /swap 

その他...サービスを停止してください。

$ sudo service mysql stop 
$ sudo service nginx stop 

...そして、あなたはこれをしたいと思うのはなぜ再び

$ cpan install CPAN 
$ cpan install MIME::Lite::TT::HTML 
+0

downvoterに:リテラルな質問についてはあまりにも肛門ではなく、すべての質問の背後にある質問があり、この場合は有効なものです:なぜCPANは働かないのですか?あなたがスワップを持っていない場合、それは低RAMで失敗するのを見ただけです。 – dagelf

関連する問題