この簡単なガイドでは、 CPANからLinuxにPerlモジュールをインストールする方法について説明します。 ( C 包括的なP erl A アーカイブN etwork)リポジトリ。このガイドを書いている時点で、185,128Perlモジュールがあります CPANで利用できます。 Perlプログラミング言語で書かれた多くのプログラムは、特定のタスクを実行するために特定のperlモジュールに依存しています。たとえば、先日、 Sysadmin-utilをテストしていました これは、 Linux/Unixシステム管理者向けの便利なツールのコレクションを提供します。 。 マルチpingと呼ばれる特定のツールをテストするとき 、次のエラーが発生しました:
$./multi-pinggoogle.com必要なNet::DNSモジュールがありません。中止します。
このような場合、そのプログラムを使用するには、不足しているperlモジュールを見つけてインストールする必要があります。
LinuxにPerlモジュールをインストールする
Perlモジュールをインストールするために利用できる多くのツールがあります。 cpanという2つのツールを試してみます およびcpanm 。 CPANの多くのモジュールには、最新バージョンのPerlバージョン5.8が必要です。 以上。
'make'がインストールされていることを確認してください Linuxディストリビューションのパッケージ。 「make」は、perlモジュールを構築するための不可欠なツールです。
'make'をインストールしないと、次のようなエラーが発生する可能性があります。
配布を構成できません。おそらく「make」が必要です。
'make'パッケージは、ほとんどのLinuxディストリビューションのデフォルトリポジトリで利用できます。
Arch Linuxに「make」をインストールするには およびそのバリアント、実行:
$ sudo pacman -S make
Debian 、 Ubuntu 、 Linux Mint :
$ sudo apt install make
Fedora :
$ sudo dnf install make
R HELの場合 、 CentOS :
$ sudo yum install make
SUSE / openSUSE :
$ sudo zypper install make
先に進んで、perlモジュールをインストールしましょう。
cpanを使用してPerlモジュールをインストールする
cpan はCPANリポジトリのコマンドラインクライアントであり、デフォルトですべてのPerlエディションで配布されます。
Perlモジュールをインストールするには、たとえば Net ::DNS 、コマンドを使用してcpanシェルに入ります:
$ sudo cpan
そして、cpanプロンプトから次のコマンドを入力して、モジュールをインストールします。
Net::DNSをインストールする
モジュールがインストールされたら、'exit'と入力します シェルに戻ります。
コマンドを使用して、ターミナルからモジュールを直接インストールすることもできます:
$ sudo cpan Net ::DNS
Cpanminusを使用してPerlモジュールをインストールする
Cpanminus またはcpanm は、CPANリポジトリからモジュールを取得、解凍、ビルド、およびインストールするためのcpanクライアントです。これは、ゼロ構成を必要とするスタンドアロンの依存関係のないスクリプトです。多くの経験豊富なPerl開発者は、cpanよりもcpanmを好みます。
cpanminusはさまざまな方法でインストールできます。
1。 Perlの使用:
Linuxシステムに最新のcpanmバージョンをインストールするには、次のコマンドを実行するだけです。
$ curl -L https://cpanmin.us | perl --- sudo App ::cpanminus
このコマンドは、cpanmをシステム全体にインストールし、cpanmバイナリを / usr / local / binのようなbinディレクトリにインストールします。 。
2。ディストリビューションのパッケージマネージャーの使用:
cpanmは、いくつかのLinuxディストリビューションのデフォルトのリポジトリでも利用できます。安定版ですが、少し古いです。
Arch Linuxとそのバリアントにcpanminusをインストールするには、以下を実行します:
$ sudo pacman -S cpanminus
Debian、Ubuntu、Linux Mintの場合:
$ sudo apt install cpanminus
CentOSの場合:
$ sudo yum install perl-App-cpanminus
3。手動インストール:
または、最新のcpanmバイナリを手動でダウンロードして、以下のように$PATHに配置することもできます。
$ curl -L https://cpanmin.us/ -o cpanm
$ chmod + x cpanm
$ sudo mv cpanm / usr / local / bin / cpanm
cpanmをインストールした後、ターミナルから次のコマンドを実行することにより、Net::DNSなどの任意のPerlモジュールをインストールできます。
$ sudo cpanm Net ::DNS
出力例:
-> Net::DNSFetchingでの作業http://www.cpan.org/authors/id/N/NL/NLNETLABS/Net-DNS-1.21.tar.gz...OKNet-DNS-1.21の構成... OK ==>見つかった依存関係:Digest ::HMAC-> Digest::HMACFetchingでの作業http://www.cpan.org/authors/id/G/GA/GAAS/Digest-HMAC-1.03.tar .gz ...OKDigest-HMAC-1.03の構成...OKDigest-HMAC-1.03の構築とテスト...OK正常にインストールされたDigest-HMAC-1.03Net-DNS-1.21の構築とテスト...OK正常にインストールされたNet-DNS-1.212インストールされているディストリビューション
ディストリビューションのパッケージマネージャーを使用して不足しているPerlモジュールをインストールする
多くのPerlモジュールはパッケージとして利用できるので、ディストリビューションのパッケージマネージャーを使用してインストールできます。
Debian、Ubuntuの場合:
$ apt-cache search'perl $'| grep Net ::DNS
出力:
libnet-dns-zonefile-fast-perl-Net::DNS上にある高速のBINDスタイルのゾーンファイルパーサー
ご覧のとおり、Net ::DSモジュールは「libnet-dns-zonefile-fast-perl」によって提供されているので、コマンドを使用してインストールしましょう:
$ sudo apt install libnet-dns-zonefile-fast-perl
Arch Linuxで不足しているモジュールを見つけるには、次のコマンドを実行します。
$ pacman -Ss'^ perl-' | grep Net ::DNS
そして、「pacman」コマンドを使用して不足しているモジュールをインストールします。
インストールされているPerlモジュールのリスト
インストールされているPerlモジュールを一覧表示するには、「perldoc」コマンドを使用します。
$ perldoc perllocal
出力例:
Thu Jan 30 10:45:11 2020: "Module" Digest ::HMAC * "installed into:/usr/local/share/perl/5.26.1" * "LINKTYPE:dynamic" * "VERSION:1.03" * "EXE_FILES:" Thu Jan 30 10:47:41 2020: "Module" Net ::DNS * "installed into:/usr/local/share/perl/5.26.1" * "LINKTYPE:dynamic" * "VERSION: 1.21 "*" EXE_FILES: "Thu Jan 30 10:48:54 2020:" Module "Digest ::BubbleBabble *" installed into:/usr/local/share/perl/5.26.1 "*" LINKTYPE:dynamic "*"バージョン:0.02 "*" EXE_FILES: "
インストールされているPerlモジュールを一覧表示する別の方法は、以下のように「instmodsh」コマンドを使用することです。
$ instmodsh
次の出力が表示されます:
使用可能なコマンドは次のとおりです。l-インストールされているすべてのモジュールを一覧表示しますm-moduleqを選択します-programcmdを終了しますか?
cmdで プロンプトで、'l'と入力します モジュールを一覧表示します。
インストールされているモジュールは次のとおりです:App ::cpanminusDigest ::BubbleBabbleDigest ::HMACModule ::BuildNet ::DNSPerlcmd?
上記の2つのコマンドは、cpanでインストールされたモジュールを一覧表示することに注意してください。多くのモジュールが手動でインストールされているか、Linuxディストリビューションにプリインストールされている可能性があります。
インストールされているすべてのPerlモジュールを見つけるには、次のコマンドを実行します。
$ cpan -l </ pre>または、
$ cpan -aPerlモジュールのアンインストール
Perlモジュールは、コマンドを使用してcpanmを使用して簡単に削除できます:
$ sudo cpanm --uninstall Net ::DNSyと入力し、Enterキーを押して、すべての構成ファイルとともにモジュールを削除します。
Net ::DNSには、次のファイルが含まれています:/ usr / local / man / man3 / Net ::DNS.3pm / usr / local / man / man3 / Net ::DNS ::Domain.3pm / usr / local / man / man3 / Net ::DNS ::DomainName.3pm [...] / usr / local / share / perl / 5.26.1 / Net / DNS / Text.pm / usr / local / share / perl / 5.26.1 /Net/DNS/Update.pm/usr/local/share/perl/5.26.1/Net/DNS/ZoneFile.pm Net ::DNSをアンインストールしてもよろしいですか? [y] yこれがお役に立てば幸いです。
Linux