Гитолит на 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 / местные / бен / Perl
Perl v5.10.0

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);

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


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

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

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

cpan File::Path

или же

cpanp i File::Path

Другие вопросы по тегам