在主目录中安装 Git - CentOS 5 - 无根目录

Posted

技术标签:

【中文标题】在主目录中安装 Git - CentOS 5 - 无根目录【英文标题】:Installing Git in Home Directory - CentOS 5 - NO ROOT 【发布时间】:2011-02-08 12:02:56 【问题描述】:

在工作中,开发没有版本控制。我的意思是,只有在更改集准备好进行回归测试时,我们才被允许签入 P4 仓库。我们无法检查间色变化!在开发过程中没有修订控制存在许多问题,我不需要在这里讨论。相反,我将问题提交给 prodsys,他们说:“不,但你在主目录中所做的事情是你的事”。基本上,如果我愿意,我可以自己安装。

很遗憾,我无法自己安装它,因为我在工作时使用的是 CentOS 5,而且我没有 root。如果您没有 root,Yum 不会给您一天中的时间。那么我该怎么做才能得到 git 呢?如果这很容易,我可以使用静态链接的二进制文件,但我在任何地方都找不到这样的东西。我也在寻找 git-p4。

编辑:我已经下载了压缩包,但我认为我缺少部门。我已通读 INSTALL 文档并选择退出所有可选依赖项:

make prefix=$HOME/git NO_TCLTK=YesPlease NO_OPENSSL=YesPlease  NO_CURL=YesPlease  NO_EXPAT=YesPlease

但我仍然无法构建。

我收到此错误:

: command not foundline 2:
: command not foundline 5:
: command not foundline 8:
./GIT-VERSION-GEN: line 14: syntax error near unexpected token `elif'
'/GIT-VERSION-GEN: line 14: `elif test -d .git -o -f .git &&

它会构建很多 .o,直到我到达:

...
LINK git-daemon
make: *** No rule to make target `GIT-VERSION-FILE', needed by `git-am'.  Stop.`

我又卡住了。

【问题讨论】:

也许这应该在超级用户中? 很奇怪 - 我在 CentOS 5 上构建时没有任何问题。当它尝试运行 GIT-VERSION-GEN 时会发生这些错误,这是***目录中的一个 shell 脚本。没有它,它就无法构建 GIT-VERSION-FILE,并且无法继续。它给你的错误在前三个空白行......我不明白为什么这会导致任何问题。看看文件 - 那里有没有机会换行?就可以了...但是 tarball 中肯定没有 CRLF。 就是这样!我使用 windows xp 工具提取了它,它对我这样做了。我又遇到了一个障碍,因为我安装了 local::lib。我必须在命令行上取消设置 PERL_MM_OPT,然后它才能构建。 啊,太好了。我没想到你会使用除 tar 之外的任何东西来解压它! 【参考方案1】:

Chris Kaminski 已经链接到 git 站点(尽管真正的 url 是 http://git-scm.com/)。那里有一个 tarball 的下载链接。你也可以克隆 git.git 仓库:

 git clone git://git.kernel.org/pub/scm/git/git.git

 git clone http://www.kernel.org/pub/scm/git/git.git   # if behind a firewall

无论哪种方式,您只需make install - 默认前缀是$HOME,将文件放在$HOME/bin、$HOME/libexec 等。如果你想让它保持分区(一个好主意,因为没有卸载规则),只需使用前缀选项,例如make prefix=$HOME/git.

【讨论】:

【参考方案2】:

www.git-scm.org

或者您可以自己下载 RPM,然后像这样提取它们:

rpm2cpio git-1.7.0.5.i386.rpm |cpio -iv 

并将其复制到 ~username/bin/git 并从那里运行它。

【讨论】:

这真的有用吗? Git 在其所有命令 (libexec/git-core/git-*) 的路径中构建,因此您不能在不设置 GIT_EXEC_PATH 的情况下将构建的安装放置在 /usr/local 中并将其放置在其他地方,我不认为... 啊,我想我记错了。从makefile:“gitexecdir,template_dir,mandir,infodir,htmldir,ETC_GITCONFIG可以被指定为相对路径......并且'git'在运行时根据可执行文件的路径确定它们的位置” - 和默认值确实是相对路径。这个功能是在 git v1.6.2 中添加的,比 CentOS 5 的原生版本更新很多,但只要你得到一个新的 rpm,你应该没问题。 我不知道这是在做什么,但我还是逐字尝试了它,但它没有用。 cpio:./usr/libexec/git-core/git:没有这样的文件或目录 cpio:./usr/libexec/git-core/git-remote-http:没有这样的文件或目录 cpio:./usr/libexec/ git-core/git-remote-ftps:没有这样的文件或目录 cpio:./usr/libexec/git-core/git-remote-ftp:没有这样的文件或目录等【参考方案3】:

这可能是一个显而易见的问题,但是......“你不能让你的系统管理员安装 git”吗?

通常系统管理员会比使用 make 安装它更乐意这样做,因为至少这样他会知道待定的安全勘误表等(尤其是像 git 这样通过网络说话的东西)。

【讨论】:

以上是关于在主目录中安装 Git - CentOS 5 - 无根目录的主要内容,如果未能解决你的问题,请参考以下文章

在主目录中安装perl模块时出现问题

如何在CentOS 7中安装Git

libgomp 丢失:在主目录中安装 c++ 编译器?

如何在CentOS 7中安装最新Git

CentOS 中安装和更新 git 客户端工具

如何在CentOS 7中安装Git