ソースから /usr/local に Perl をインストールし、それに応じてパスを調整しました。
私は何かが欠けていると確信していますが、今、「cpan」コマンドで何かをインストールしようとしていますが、/usr/local に書き込めないため失敗しています。sudo を使用する必要がありますが、これは私には違和感があります。CPAN は別の場所に移動する必要がありますか? sudo を使わなければならないのは普通ですか?
本当に使用するのが面倒な場合は、ホームディレクトリにモジュールsudo
を使用local::lib
してインストールできます。スーパーユーザー権限は必要ありません。
とはいえ、を使用するのは面倒ではありませんsudo
。必ずしも悪いことではありません。Gbaconが言うように、システム上のすべてのユーザーによって共有されて/usr/local
いるため、インストールする場合に必要です(したがって、その権限はそれを反映しています)。/usr/local
テレマコス〜$ ls -ld / usr / local / drwxr-xr-x17ルートホイール578Jan8 20:00 / usr / local /
/usr/localディレクトリは通常のユーザーが書き込み可能であってはなりませんが、Unix セットアップにはこれを処理するための多くの機能があります。
私のアドバイスでは、 /usr/local/perlsをセットアップすることを提案しました。そのディレクトリには、好きな権限を与えることができます。必要以上のディレクトリに権限を適用しないでください。
グループを設定し、perl
そのグループに自分を追加して、Perl ライブラリ ディレクトリ グループを書き込み可能にすることをお勧めします。セットアップが完了したら、グループ権限があるため、sudo を実行する必要はありません。
さらに、CPAN.pm 構成を調整してsudo
、インストール段階で使用することができます。ドキュメントのmake_install_make_command
およびコマンドを確認してください。mbuild_install_build_command
「sudo」を検索するだけで、それらを見つけることができます。
幸運を、 :)
/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
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 グルではありません。)