情况很糟糕,我们没有对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,但我们只是不知道如何处理它,任何建议都将不胜感激!
答案 0 :(得分:0)
gl-auth-command
表示真正旧的gitolite V2,使用gitolite_rc.pm
。
其install scripts依赖于$GL_RC
和$GL_BINDIR
个环境变量,因此请检查这些变量是否未设置:gitweb.conf.pl
将GL_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中路径!我很幸运,没有冲突,所有这些应用程序现在都正常工作。