10

ソースから /usr/local に Perl をインストールし、それに応じてパスを調整しました。

私は何かが欠けていると確信していますが、今、「cpan」コマンドで何かをインストールしようとしていますが、/usr/local に書き込めないため失敗しています。sudo を使用する必要がありますが、これは私には違和感があります。CPAN は別の場所に移動する必要がありますか? sudo を使わなければならないのは普通ですか?

4

4 に答える 4

11

本当に使用するのが面倒な場合は、ホームディレクトリにモジュールsudoを使用local::libしてインストールできます。スーパーユーザー権限は必要ありません。

とはいえ、を使用するのは面倒ではありませんsudo。必ずしも悪いことではありません。Gbaconが言うように、システム上のすべてのユーザーによって共有されて/usr/localいるため、インストールする場合に必要です(したがって、その権限はそれを反映しています)。/usr/local

    テレマコス〜$ ls -ld / usr / local /
    drwxr-xr-x17ルートホイール578Jan8 20:00 / usr / local /
于 2010-01-09T02:50:15.020 に答える
9

/usr/localディレクトリは通常のユーザーが書き込み可能であってはなりませんが、Unix セットアップにはこれを処理するための多くの機能があります。

私のアドバイスでは、 /usr/local/perlsをセットアップすることを提案しました。そのディレクトリには、好きな権限を与えることができます。必要以上のディレクトリに権限を適用しないでください。

グループを設定し、perlそのグループに自分を追加して、Perl ライブラリ ディレクトリ グループを書き込み可能にすることをお勧めします。セットアップが完了したら、グループ権限があるため、sudo を実行する必要はありません。

さらに、CPAN.pm 構成を調整してsudo、インストール段階で使用することができます。ドキュメントのmake_install_make_commandおよびコマンドを確認してください。mbuild_install_build_command「sudo」を検索するだけで、それらを見つけることができます。

幸運を、 :)

于 2010-01-09T10:09:48.477 に答える
9

/usr/local木は保護されています。sudoそこにソフトウェアをインストールするために使用するのは完全に正常です。

別のライブラリの場所へのインストールは、よくある質問です。「自分のモジュール/ライブラリ ディレクトリを保持するにはどうすればよいですか?」を参照してください。セクション8で。

重要な抜粋:

これを構成で設定すると、シェルCPAN.pmを使用するときにモジュールがプライベート ライブラリ ディレクトリに自動的にインストールされます。CPAN.pm

% cpan  
cpan> o conf makepl_arg INSTALL_BASE=/mydir/perl  
cpan> o conf commit

ベースのディストリビューションの場合Build.PLは、 --install_base オプションを使用します。

perl Build.PL --install_base /mydir/perl

CPAN.pmこのオプションを自動的に使用するように設定することもできます:

% cpan  
cpan> o conf mbuild_arg "--install_base /mydir/perl"  
cpan> o conf commit
于 2010-01-09T01:40:27.627 に答える
6

CPAN シェルで、sudo の下でmakeおよびステップを実行するように構成します。build

o conf make_install_make_command 'sudo make'
o conf mbuild_install_build_command 'sudo ./Build'
o conf commit
quit

(私はここでこれらを見つけました-- 私は CPAN グルではありません。)

于 2012-03-26T12:22:52.070 に答える