私のUbuntuコンピュータにPerlモジュールFuture :: Utilsをインストールしようとしていますが、正しいコマンドが見つかりませんでした。このコマンドを試しましたが、動作しません。
sudo apt-get install libfuture-utils-perl
このコマンドを実行すると、次の結果が表示されます。
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libfuture-perl
この問題を解決するのに役立ちますか?
答え1
私のDebianシステムでコマンドを実行すると、次のような結果が出ました。
apt-get install libfuture-utils-perl
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libfuture-utils-perl
しかし、検索によってライブラリがパッケージとして提供されることがわかりました。
apt-cache search libfuture
libfuture-perl - module for operations awaiting completion
その後、インストールできます。
apt-get install libfuture-perl
答え2
Perlモジュール名は必要に応じてファイルパスに対応します.pm
。これは言語の特定のルールではありませんが、Perlがファイルパスを見つける方法だからです。この仮定は、apt-file search
ファイルを含む配布パッケージ(存在する場合)を決定するために使用できます。
apt-file search "/Future/Utils.pm"
ただし、パッケージ化されていないモジュールが多く、これを取得する最も簡単な方法は、cpan
CPANから直接対話型インターフェースを提供するユーティリティであることです。 Perlがインストールされている場合は、すでにインストールされている可能性があります。初めて使用すると、いくつかの自動設定が要求されます。su root
cpan設定が正しい場所(ルートのホームディレクトリ)に保存されるように、ユーザーのホームディレクトリの代わりにシステムに最初にインストールできます。その後、プロンプトにinstall Future::Utils
従ってください。cpan
XSコードが関連している場合、このようにモジュールをインストールするにはビルドツールが必要になることがあります。 cpanはこれを知らせ、最初にインストールする必要があることを伝えます。場合によっては、特定のライブラリと対応する開発ヘッダが必要になることがあります。
デフォルトでは、異なる場所にあるため、配布パッケージとCPANから1つずつ、複数のバージョンのモジュールをインストールできます。ただし、CPANパスは配列に優先順位があるため使用されます@INC
。ただし、そのパスまたは設定$PERL5LIB
(perl変数ではなくシェル環境)を変更できます。