2013-01-23 25 views
5

與許多其網站託管在共享服務器上的人一樣,我沒有root訪問權限,託管公司也不會根據用戶的請求安裝Perl模塊。如果我不能寫入〜/?,如何安裝cpanm和local :: lib?

不幸的是,我也沒有對~/文件夾的寫權限,只對某些子文件夾(如~/cgi-bin/)有寫權限。

我已經嘗試解決建議here,改變~/perl5~/cgi-bin/perl5(我創建的),但我不斷收到此錯誤:

"Can't write to cpanm home '~/.cpanm': You should fix it with chown/chmod first."

的問題是,正如我所說,我不有寫權限〜/

有什麼方法可以告訴安裝程序使用~/cgi-bin/.cpanm代替嗎?我試圖通過在互聯網上的這裏和其他地方搜索找出它,但我正開始將我的頭撞到牆上。

編輯:所以,我已經由史蒂芬嘗試下面的建議,使用這個命令:現在

HOME=$HOME/cgi-bin cpanm local::lib

cpanm成功運行,並試圖安裝的模塊,但在整個安裝有多次警告和最終失敗(大概還有一些東西仍然試圖寫入禁止的文件夾??)。

下面是一些示例警告:

Warning: prerequisite CPAN 1.82 not found. We have 1.7601.

Warning: prerequisite ExtUtils::Install 1.43 not found. We have 1.32.

Warning: prerequisite ExtUtils::MakeMaker 6.42 not found. We have 6.17.

Warning: prerequisite Module::Build 0.36 not found.

Warning: You do not have permissions to install into /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi at /usr/lib/perl5/5.8.5/ExtUtils/Install.pm line 114.

mkdir /usr/lib/perl5/5.8.5/App: Permission denied at /usr/lib/perl5/5.8.5/ExtUtils/Install.pm line 176

make: *** [pure_perl_install] Error 255

+0

http://stackoverflow.com/questions/540640/how-can-i-install-a-cpan-module-into-a-local-directory – edem

+1

這個問題是相關的(雖然不完全相同),但即使我指定了不同的INSTALL_BASE目錄,我也遇到了〜/ .cpan或〜/ .cpanm的相同「權限被拒絕」錯誤。 – WinnPh

+2

這個問題怎麼回事?即使這是爲什麼「脫離主題」?這個問題如何脫離主題?在點擊關閉之前,你應該解釋一下。 – 2013-01-24 10:43:15

回答

1

~是訪問環境變量$HOME的只是一個速記方式,所以你應該能夠做到像export HOME=$HOME/cgi-bin下移到你的有效的home目錄到某個目錄你有寫權限。這會影響很多事情,但是,請小心。

+0

是的,這聽起來對我來說很危險,我寧願通過命令行將這個子目錄傳遞給cpanm。但這絕對是一種可以作爲最後手段考慮的事情。 – WinnPh

+2

如果以HOME = $ HOME/cgi-bin (例如, HOME = $ HOME/cgi-bin cpanm ... 然後您的家只能重置該命令。 – Steven

相關問題