2012-03-08 56 views
2

我試圖安裝Gitolite作爲http://wiki.dreamhost.com/GitoliteGitolite Dreamhost上

我得到的錯誤,如:

"make_path" is not exported by the File::Path module
Can't continue after import errors at gitolite/src/gl-system-install line 5
BEGIN failed--compilation aborted at gitolite/src/gl-system-install line 5.

沒有用Perl一個問題,但我無法找到解決辦法呢。

服務器功能
在/ usr/local/bin中/ perl的
的perl v5.10.0

+0

我的dreamhost服務器(twins.dreamhost.com)有5.10.1,它有File :: Path 2.07_03。也許他們可以切換你的服務器,如果他們不能升級你的File :: Path。否則,你可以使用['perlbrew'](http://search.cpan.org/perldoc?perlbrew)來安裝你自己的Perl版本。請注意,其中一個Cwd測試在Dreamhost上失敗,但忽略失敗是無害的。 – ikegami 2012-03-08 23:12:33

回答

2

At press timegl-system-install電話make_path在一個地方,在開始於line 75的子文件中:

sub check_dirs { 
    for my $dir ($bin_dir, $conf_dir, $hooks_dir) { 
     die "$dir should be an absolute path\n" unless $dir =~ m(^/); 
     make_path($dir); 
     -d $dir or die "$dir does not exist and could not be created\n"; 
    } 
} 

這種特殊的用法與mkpath是通話兼容的。您不必’必須安裝新的File :: Path模塊。的gl-system-install

use File::Path qw(mkpath); 

和線路78

mkpath($dir); 

更改行5我遇到的最後一個星期內同樣的情況。在做出上述更改後,您可以按照gitolite’s installation instructions的規定進行操作,而不會再有任何障礙。


更新:這個問題現在fixed in the gitolite repository

+0

太神奇了!像魅力一樣工作:)你爲我節省了很多頭痛。 – kLezer 2012-03-09 00:05:16

+0

@kLezer不客氣! – 2012-03-09 00:16:05

3

make_path在文件::路徑2.06_05進行了介紹。您必須使用較舊的版本(Perl 5.10.0附帶File :: Path 2.04)。升級File :: Path(或升級Perl,因爲5.10 is no longer supported)。

2

make_path僅在File :: Path 2.07中可用。我不知道這是否是你的問題或沒有,但你可以嘗試更新文件::路徑:

cpan File::Path

cpanp i File::Path