我已經從源代碼安裝的Perl到/ usr/local和相應的調整我的路徑,下面brian d foy's suggestion here.如何在使用'cpan'安裝Perl模塊時避免使用sudo?
我敢肯定,我失去了一些東西,但現在我想用「CPAN安裝的東西'命令,並且因爲無法寫入/ usr/local而失敗。我必須使用sudo,這對我來說感覺不對。 CPAN的東西應該去另一個地方?必須使用sudo是否正常?
我已經從源代碼安裝的Perl到/ usr/local和相應的調整我的路徑,下面brian d foy's suggestion here.如何在使用'cpan'安裝Perl模塊時避免使用sudo?
我敢肯定,我失去了一些東西,但現在我想用「CPAN安裝的東西'命令,並且因爲無法寫入/ usr/local而失敗。我必須使用sudo,這對我來說感覺不對。 CPAN的東西應該去另一個地方?必須使用sudo是否正常?
/usr/local
樹被保護。使用sudo
在那裏安裝軟件是非常正常的。
安裝到單獨的庫位置是一個常見問題。見"How do I keep my own module/library directory?"在第8
重點摘錄:
您可以在
CPAN.pm
配置時使用CPAN.pm
shell設置此所以模塊在你的私人圖書館目錄自動安裝:% 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
如果真的困擾你使用sudo
,您可以使用local::lib
和你的主目錄中安裝模塊 - 在這裏你不需要超級用戶權限。
這就是說,它不應該打擾你使用sudo
。它不一定是錯的。作爲Gbacon說,你需要它,如果你想因爲/usr/local
由所有用戶共享的系統上/usr/local
安裝(因此它的權限反映):
telemachus ~ $ ls -ld /usr/local/ drwxr-xr-x 17 root wheel 578 Jan 8 20:00 /usr/local/
local :: lib的問題是在同一時間維護不同的perls。如果您想按照我的建議完全隔離安裝,則不希望將不同perls的模塊安裝在同一目錄中。 – 2010-01-09 10:11:10
的在/ usr /本地目錄不應該由普通用戶寫入,但Unix設置有許多功能來處理這個問題。
在我的建議下,我建議設置/usr/local/perls。您可以爲該目錄提供您喜歡的任何權限。不要將任何權限應用於超出您需要的更多目錄。
我建議設置一個perl
組,將自己添加到該組中,並使Perl庫目錄組成爲可寫。安裝完成後,您不必sudo,因爲您擁有組權限。
除此之外,您可以調整您的CPAN.pm配置以在安裝階段使用sudo
。查閱文檔中的make_install_make_command
和mbuild_install_build_command
命令。只需搜索「sudo」,就可以找到它們。
祝你好運:)
在你CPAN殼,將其配置爲運行在須藤make
和build
步驟:
o conf make_install_make_command 'sudo make'
o conf mbuild_install_build_command 'sudo ./Build'
o conf commit
quit
(我發現這些here - 我不是CPAN大師)
我認爲他已經這樣做了。常見問題解答中的建議對此不足。有一個mbuild_install_build_command和一個make_install_make_command選項,您可以在其中將sudo設置爲在安裝步驟中使用的命令。 – 2010-01-09 10:04:42