web-dev-qa-db-ja.com

/usr/share/Perl/5.14/CPAN/FirstTime.pmの@INCでlocal / lib.pmが見つかりません

Ubuntu 12.04である私のシステムでPerlを初めて使用しようとしています。 Perlv.5.14.2をインストールしています。
調べた Perlモジュールのインストール方法 なので、次のように始めました。

$ Perl -MCPAN -e Shell

ウィザードは、次のように環境の構成を開始しました: http://Pastebin.com/5hn8vkb5
ただし、途中で停止し、次のエラーメッセージが表示されました。

...

Checksum for /home/john/.cpan/sources/authors/id/A/AP/APEIRON/local-lib-1.008009.tar.gz ok
---- Unsatisfied dependencies detected during ----
----     APEIRON/local-lib-1.008009.tar.gz    ----
    ExtUtils::MakeMaker [build_requires]
Running make test
  Make had some problems, won't test
  Delayed until after prerequisites
Running make install
  Make had some problems, won't install
  Delayed until after prerequisites

Can't locate local/lib.pm in @INC (@INC contains:
    /home/john/Perl5/lib/Perl5
    /etc/Perl
    /usr/local/lib/Perl/5.14.2
    /usr/local/share/Perl/5.14.2
    /usr/lib/Perl5
    /usr/share/Perl5
    /usr/lib/Perl/5.14
    /usr/share/Perl/5.14
    /usr/local/lib/site_Perl
    /home/john/Desktop)
at /usr/share/Perl/5.14/CPAN/FirstTime.pm line 1300.

UbuntuインストールでPerl環境を正しくセットアップするにはどうすればよいですか?


ウィザードを中断して再起動すると、エラーメッセージは表示されなくなります。ここで選択できるように、ウィザードを再度開始するにはどうすればよいですか。

どのようなアプローチが必要ですか? (「local :: lib」、「Sudo」、または「manual」を選択してください)[local :: lib]

9
JJD

local::libがありません。これは、CPANシェルに指示したことです。

次のようにインストールできます。

Sudo apt-get install liblocal-lib-Perl

rm -rfディレクトリを~/.cpan-することで最初からやり直すことができるかもしれません。 ATあなた自身のリスク

ただし、古いCPAN Shellの代わりにcpanminusを試すことをお勧めします。

Sudo apt-get install cpanminus
17
chrsblck

local名前空間は、独自の個人モジュール用であり、CPANにはありません。これは比較的新しいものです。多くのサイトでは、現在のバージョンのPerlにないCPANモジュールが必要な場合や、特定のモジュールの新しいバージョンが必要な場合があります。ただし、CPANモジュールがインストールされている標準の場所への書き込みアクセス権はありません。

これが行っているのは、これらのモジュールにアクセスできる$HOME/Perl5/lib/localディレクトリの下にこれらのモジュールをインストールすることです。また、Perl5LIB環境変数(通常は起動スクリプト内)を設定する必要があるため、Perlはこれらのモジュールを見つけるときにこのディレクトリをチェックします。

Sudo権限がある場合は、これを試すのではなく、それを使用してCPANモジュールをインストールしてください。以下は、Foo::Barモジュールを標準モジュールディレクトリにインストールします(必要に応じて構成を行います)。

$ Sudo cpan install Foo::Bar

CPANを設定する必要がある場合は、最初に設定します。

MetaCPAN でモジュールのlocal :: libインストールを実行するための完全な指示があります。それらはかなり明確です。

2
David W.

いくつかの新しいOSの強制(Redhat 7など)は、Perlバージョンでlocal :: libの存在をチェックするように強制します。これにより、ユーザーはCPANを使用して、Perlで使用する新しいモジュールを追加、実験、および楽しむことができます。サイト全体のインストールを待っています(rootユーザーのように)。デフォルトでは、local :: libは、ユーザーのローカルモジュールまたはダウンロードされたモジュールが配置されている$ HOME/Perl5ディレクトリを検索します。この問題が発生した場合は、次のことを行う必要があります

  1. Sudosu-whatever_user_owns_Perl
  2. what_Perl_install_path/cpan install local :: lib
0
KeshV