无法找到gitolite_rc.pm

时间:2014-07-31 02:25:50

标签: git perl gitolite

情况很糟糕,我们没有对git服务器(Gentoo Linux服务器)做任何事情,今天当我们尝试使用git进行任何操作时,我们只收到以下消息:

Can't locate gitolite_rc.pm in @INC (you may need to install the gitolite_rc
module)     (@INC contains: /usr/bin /etc/perl /usr/local/lib64/perl5/5.18.2/x86_64-linux /usr/local/lib64/perl5/5.18.2 
/usr/lib64/perl518.2/x86_64-linux /usr/lib64/perl5/vendor_perl/5.18.2 
/usr/local/lib64/perl5 /usr/lib64/perl5/vendor_perl 
/usr/lib64/perl5/5.18.2/x86_64-linux /usr/lib64/perl5/5.18.2 .) at 
/usr/bin/gl-auth-command line 43.
BEGIN failed--compilation aborted at /usr/bin/gl-auth-command line 43.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

似乎gitolite_rc perl模块在路径中丢失或丢失,但我们只是没有对perl configs做任何事情(实际上我们没有任何perl程序员),它只是自己发生,我们不是退出熟悉perl,我们用谷歌搜索它,但只找到gitolite_rc.pm文件https://code.google.com/p/gitolite/source/browse/src/gitolite_rc.pm?spec=svn89e59ae7725d662919ef7dc8f759d48c173181fd&name=89e59ae772&r=89e59ae7725d662919ef7dc8f759d48c173181fd,但我们只是不知道如何处理它,任何建议都将不胜感激!

2 个答案:

答案 0 :(得分:0)

gl-auth-command表示真正旧的gitolite V2,使用gitolite_rc.pm

install scripts依赖于$GL_RC$GL_BINDIR个环境变量,因此请检查这些变量是否未设置:gitweb.conf.plGL_BINDIR添加到INC # now get gitolite stuff in... unshift @INC, $ENV{GL_BINDIR}; require gitolite_rc; gitolite_rc -> import; (正如我在&#34中提到的;如何让gitolite / gitweb一起工作?"):

{{1}}

答案 1 :(得分:0)

非常感谢你们!

我终于发现它是perl包路径的问题。好吧,我们不知道它为什么会发生,但在我们的服务器上,许多应用程序,包括Nginx,Git,php-fpm ......都需要自己版本的perl包,具有不同的路径。但是现在关于PERL的所有环境变量只是指向一个特定路径(默认路径)。因此,所有这些应用程序都无法在该路径中找到自己的依赖项。

也许我应该为每个应用程序指定perl路径,但经过google搜索后,我无法找到解决方案,所以我通过一个非常蹩脚的方法来实现:只需将所有依赖项复制到默认的perl lib中路径!我很幸运,没有冲突,所有这些应用程序现在都正常工作。