Гитолит на Dreamhost

Я пытаюсь установить Gitolite, как в http://wiki.dreamhost.com/Gitolite.

Я получаю ошибку, как:

"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


person kLezer    schedule 08.03.2012    source источник
comment
Мой сервер DreamHost (twins.dreamhost.com) имеет 5.10.1, который имеет File::Path 2.07_03. Возможно, они смогут переключить ваш сервер, если не смогут обновить ваш File::Path. В противном случае вы можете использовать perlbrew для установки собственной версии Perl. Обратите внимание, что один из тестов Cwd не проходит на dreamhost, но игнорировать этот сбой безопасно.   -  person ikegami    schedule 09.03.2012


Ответы (3)


Во время печати gl-system-install вызывает make_path в одном месте, в подразделе, который начинается с строка 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. Изменить строку 5 из gl-system-install на

use File::Path qw(mkpath);

и строка 78 в

mkpath($dir);

Я столкнулся с такой же ситуацией на прошлой неделе. После внесения вышеуказанных изменений вы можете следовать инструкциям по установке gitolites без дальнейших проблем.


Обновление: эта проблема теперь исправлена ​​в репозитории gitolite.

person Greg Bacon    schedule 08.03.2012
comment
удивительно! работал как шарм :) вы избавили меня от многих головных болей. - person kLezer; 09.03.2012

make_path был представлен в File::Path 2.06_05. Вы должны использовать более старую версию (Perl 5.10.0 поставлялся с File::Path 2.04). Обновите File::Path (или обновите Perl, поскольку 5.10 больше не поддерживается).

person cjm    schedule 08.03.2012

make_path доступен только в File::Path 2.07. Я не уверен, ваша проблема или нет, но вы можете попробовать обновить File::Path:

cpan File::Path

or

cpanp i File::Path

person Zac B    schedule 08.03.2012