当前位置: 首页>>技术教程>>正文


linux – 使用非root用户帐户安装Git

, ,

问题描述

我已经在GitHub上建立了一个Git存储库,并从Windows计算机上进行了一些更改。

但是明天我将不得不在一台运行Ubuntu且具有有限特权(即无sudo)的计算机上在此存储库中工作。

有适用于Linux的Git便携式版本吗?还是某些允许我仅为当前用户编译和安装Git的资源?

最佳办法

您可以下载git源,并执行./configure --prefix=/home/user/myroot && make && make install来将git安装到您的主目录中,前提是您拥有构建工具。如果您没有安装build-essential软件包(dpkg --list|grep build-essential),则也需要将其安装到主目录中。

次佳办法

我不喜欢link-only的答案,但是this链接是我在Fedora机器上跟随step-by-step进行的,它无需修改即可工作。非常非常容易这些二进制文件最终位于您的〜/bin目录中。您下载了一个压缩包,提取了源,运行make并运行make install就是这样。

正如作者所指出的,这两个先决条件是gcc和ssh,如果满足这些git,则应该以非root用户的身份工作。

第三种办法

一个相关的答案是https://askubuntu.com/a/350

我可以将其与建议的第三个方法一起使用:

apt-get source git
cd git_vXXX
./configure --prefix=$HOME
make
make install

我不知道为什么,但是当我尝试从github下载源代码安装时,我遇到了很多缺少依赖项的问题

第四种办法

要从源代码安装git和依赖项,以下内容可能有用。

替换为您要安装非根应用程序的位置,并考虑检查源代码的最新版本。

wget https://curl.haxx.se/download/curl-7.47.1.tar.gz
tar -xf curl-7.47.1.tar.gz
mkdir <local_curl_dir>
cd curl-7.47.1
./configure --prefix=<local_curl_dir>
make
make install

wget http://downloads.sourceforge.net/expat/expat-2.1.0.tar.gz
tar -xf expat-2.1.0.tar.gz
mkdir <local_expat_dir>
cd expat-2.1.0
./configure --prefix=<local_expat_dir>
make
make install

wget https://github.com/git/git/archive/v2.6.4.tar.gz
tar -xf v2.6.4
mkdir <local_git_dir>
cd git-2.6.4
make configure
./configure --prefix=<local_git_dir>/git --with-curl=<local_curl_dir>/curl --with-expat=<local_expat_dir>/expat
make
make install

第五种办法

这就是我最终要做的,主要的技巧是make标志:

wget -O git.tar.gz https://github.com/git/git/archive/v2.17.0.tar.gz
tar zxf git-2.17.0.tar.gz
mv git-2.17.0 git
cd git
make configure
./configure --prefix=`pwd` --with-curl --with-expat
# ./configure --prefix=`pwd`
# Make flags from https://public-inbox.org/git/CAP8UFD2gKTourXUdB_9_FZ3AEECTDc1Fx1NFKzeaTZDWHC3jxA@mail.gmail.com/
make NO_GETTEXT=Nope NO_TCLTK=Nope
make install NO_GETTEXT=Nope NO_TCLTK=Nope

学分:

  1. 上面的79E09796答案是一个很好的技巧,但不适用于我在Cloudways上的情况,也不需要编译curl和expat。

  2. 我在互联网上发现的随机电子邮件记录:https://public-inbox.org/git/CAP8UFD2gKTourXUdB_9_FZ3AEECTDc1Fx1NFKzeaTZDWHC3jxA@mail.gmail.com/

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8041.html,未经允许,请勿转载。