簡體   English   中英

如何在不使用 CPAN.pm 的情況下安裝 Perl 模塊?

[英]How can I install Perl module without using CPAN.pm?

可能嗎?

如果您下載了源代碼,並閱讀了README文件。 這可能會告訴你你應該做的

perl Makefile.PL
make
make test
make install

要么

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

如果下載源碼,一般會有一個Makefile.PL。 你運行“perl Makefile.PL; make; make test; make install”,它會為你構建和安裝。

顯然,如果您不使用 CPAN.pm,您將不得不自己處理依賴項。

另外,如果你不能使用 CPAN.pm 的原因是你沒有安裝到 /usr/lib/perl 的權限,你可以強制 CPAN.pm 在本地安裝,但我忘記了如何安裝。

如果您在 Linux 盒子上,通常可以使用內置的 package 管理器獲得很大一部分包。 例如,在 Ubuntu 系統上,如果您想安裝 PostgreSQL Perl 模塊,您只需執行以下操作:

sudo apt-get install libpg-perl

您可以在此處查看 Ubuntu 的模塊列表: http://packages.ubuntu.com/hardy/perl/

我發現我經常可以自己猜出這些名字。 不確定這是否有幫助,但對我自己來說,我經常發現它比 CPAN 更容易使用,因為它在解決依賴關系方面做得更好。

參見此處: How to install perl modules using CPAN without root

我剛剛在沒有 root 訪問權限的服務器上設置了它,CPAN 會自動完成所有操作。

但是如果你真的想安裝一個沒有 CPAN 的模塊並且你沒有 root 權限(假設這是因為你不想使用 CPAN),你可以按如下方式進行

perl Makefile.PL PREFIX=$HOME
make
make install

您將不得不自己尋找依賴項,因此最好使用 CPAN。

如果問題是沒有 root 訪問權限,我建議查看local::lib以及此網頁以了解 CPAN.pm 和非 root 安裝。

但是要回答問題,CPAN 或 CPANPLUS 是有幫助的,但不是必需的。 你總是可以像 Leon 所說的那樣用老式的方法來做——盡管通常情況下,不這樣做會更容易。

如果 .pm 文件是純 Perl 並且不需要編譯,您可以將它放在應用程序的 lib 文件夾中並正常使用它。

如果您使用的是 Red Hat(Fedora、CentOS),則應盡可能為 Perl 依賴項使用 RPM。 Perl 包幾乎總是命名為 perl-Module-Name,例如 perl-DBI、perl-Spreadsheet-WriteExcel 等。

在 Ubuntu 上,命名方案是 libmodule-name-perl。

我們可以通過 ubuntu 中的終端安裝所有 perl 模塊。如果您使用的是 ubuntu 服務器,則執行以下命令,'sudo apt-get install "perl_module"' 您想要的模塊只需在“ perl_module" 意味着如果你想安裝 Apache2::Cookie 它將在 "libapreq2" 中,所以你必須像 "sudo apt-get install libapreq2"

如果你問這個是因為你在使用 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

我和其他人一樣強烈建議使用 CPAN.pm。 使用起來輕而易舉,並且可以自動解決與您需要的模塊相關的任何依賴關系。

另一方面,我建議您閱讀perldoc上的perlmodinstall文檔,因為它也提供了其他操作系統的詳細信息。

問候,

傑夫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM