web-dev-qa-db-ja.com

CPANモジュールをローカルディレクトリにインストールするにはどうすればよいですか?

ホストされたLinuxマシンを使用しているため、/usr/libディレクトリに書き込む権限がありません。

通常の方法でCPANモジュールをインストールしようとすると:

Perl Makefile.PL
make test
make install

そのモジュールはblib/lib/フォルダーに抽出されます。 use blib/lib/ModuleNameを保存しましたが、それでもコンパイラーはモジュールが見つからないと言っています。 .pmファイルをローカルディレクトリにコピーしてrequire ModuleNameを保持しようとしましたが、それでもエラーが発生します。

モジュールを他のディレクトリにインストールして使用するにはどうすればよいですか?

60
Ram

Local :: libをインストールすることさえできなかった同様の問題がありました

.plファイルに関連する場所にモジュールをインストールするインストーラーを作成しました

インストールは次のようになります。

Perl Makefile.PL PREFIX=./modulos
make
make install

次に、。/にあるモジュールを必要とする.plファイルで

use lib qw(./modulos/share/Perl/5.8.8/); # You may need to change this path
use module::name;

残りのファイル(makefile.pl、module.pmなど)を変更する必要はありません。

あなただけで.plファイルを呼び出すことができます

Perl file.pl
36
XenF

local :: lib が役立ちます。これは、「make install」(および「build install」)が書き込み可能なディレクトリにインストールするように説得し、Perlにそれらのモジュールを取得する方法を伝えます。

一般に、blib /ディレクトリにあるモジュールを使用する場合は、Perl -Mblib ...ここで...は、通常スクリプトを呼び出す方法です。

19
jrockway

Makefile.PLベースの配布では、Makefileを生成するときにINSTALL_BASEオプションを使用します。

Perl Makefile.PL INSTALL_BASE=/mydir/Perl
3
parthi

Perlbrew を強くお勧めします。 Perlの複数のバージョンを実行し、パッケージをインストールし、必要に応じてPerl内部をハッキングし、すべての通常のユーザー権限を許可します。

3
tiktak