2014-01-06 53 views
0

我有Perl安裝在羣集驅動器上的/clusterhome/myperl,並安裝在工作站計算機上的/home/chris/cluster安裝Perl,因此它可以在多個路徑訪問

運行的perl明顯相同/clusterhome目錄工作正常,從集羣中,但當我從我的工作站運行/home/chris/cluster/myperl/bin/perl時,找不到任何模塊。該@INC仍設置爲

/clusterhome/myperl/lib/site_perl/5.16.3/x86_64-linux 
/clusterhome/myperl/lib/site_perl/5.16.3 
/clusterhome/myperl/lib/5.16.3/x86_64-linux 
/clusterhome/myperl/lib/5.16.3 

這甚至發生與前綴的工作站上以下環境變量的值:

PATH   /home/chris/cluster/myperl/bin 
PERL5LIB  /home/chris/cluster/myperl/lib 
LD_LIBRARY_PATH /home/chris/cluster/myperl/lib 
MANPATH   /home/chris/cluster/myperl/man 

有沒有一種方法可以讓我得到這個Perl來這兩個羣集上工作,工作站?我經常重新安裝它(每晚),所以如果需要額外製作標誌,那就完全沒問題。

回答

3

準確的安裝位置(查看模塊包含的位置)被編譯到perl的二進制文件中。安裝目錄名稱還有其他用途(例如,編譯新模塊時,會從這些編譯字符串中提供一堆編譯選項)。

所以,你有以下幾種選擇:

  • 您確保該文件可以在它們被設計成(符號鏈接的目錄中的每臺計算機上:ln -s,綁定安裝:mount -o bind,或在那裏預先安裝),

  • 你爲每個新的位置編譯一個新的perl。

您也可以忽略此編譯目錄,並且指定每次要通過命令行或環境變量使用perl時要使用的目錄。對於@INC,可以使用命令行選項-Idirectory

+0

感謝您的總結。這絕對回答了我的問題。在這種情況下,我可能會嘗試解決這個問題,這樣我就可以將它安裝在相同的路徑上。謝謝! –