在没有 sudo 权限的情况下安装 Git

Install Git without sudo privilege

我在 Debian 9 (Stretch) 系统上有一个非根帐户,我想安装 Git。

由于账号没有超级用户权限,Git只能在本地安装,如here.

按照接受的答案,我在本地主目录 (~/) 下载并解压缩了最新的 Git 版本,然后我进入解压缩的 Git 文件夹,如

$ cd git-2.33.1/

当我运行

./configure --prefix=~/git-2.33.1/ && make && make install

我得到 ./configure: No such file or directory

有什么我可以做的吗?

我还检查了 git 的 README,当我 运行 make 我得到 fatal error: openssl/ssl.h: No such file or directory #include <openssl/ssl.h>

如果缺少依赖项,这将不太容易使某些东西正常工作。

你能做什么,下载.deb得到最后一个git版本,你可以找到它https://debian.pkgs.org/11/debian-main-amd64/git_2.30.2-1_amd64.deb.html

例如:

cd /tmp
wget http://ftp.br.debian.org/debian/pool/main/g/git/git_2.30.2-1_amd64.deb

然后解压

mkdir git
cd git
ar x ../git_2.30.2-1_amd64.deb

您将获得

total 5.3M
drwxrwxr-x  2 john doe 4.0K Oct 29 21:31 ./
drwxrwxrwt 29 root      root       16K Oct 29 21:31 ../
-rw-r--r--  1 john doe  16K Oct 29 21:31 control.tar.xz
-rw-r--r--  1 john doe 5.3M Oct 29 21:31 data.tar.xz
-rw-r--r--  1 john doe    4 Oct 29 21:31 debian-binary

然后提取数据部分:

tar xvf data.tar.xz

你得到了二进制文件

╰┤suze ▶ ls -l usr/bin
total 4968
-rwxr-xr-x 1 john doe 3343280 Mar 10  2021 git*
lrwxrwxrwx 1 john doe       3 Mar 10  2021 git-receive-pack -> git*
-rwxr-xr-x 1 john doe 1733608 Mar 10  2021 git-shell*
lrwxrwxrwx 1 john doe       3 Mar 10  2021 git-upload-archive -> git*
lrwxrwxrwx 1 john doe       3 Mar 10  2021 git-upload-pack -> git*

When I run

./configure --prefix=~/git-2.33.1/ && make && make install

I get ./configure: No such file or directory.

你并不真的需要 configure 脚本,但如果你想要它,你可以只说 make configure 和 运行 那个,如果你找不到 ssl 你可以 ./configure --prefix=$HOME --without-openssl.

但是该脚本所做的只是进行一些简单的编辑,并且 Makefile 已预先配置为安装在您的主目录中,并且在顶部有很多注释解释了如何设置您自己。例如,

# Define NO_OPENSSL environment variable if you do not have OpenSSL.

所以你可以

tar xf the.downloaded.tar
cd ./git-2.33.1
echo NO_OPENSSL = > config.mak

你已经准备好了

make install

在没有 openssl 支持的情况下构建并安装到 $HOME