我已经在GitHub上设置了一个Git存储库,并从我的Windows机器上提交了一些更改.
但明天我将不得不从运行Ubuntu且具有有限权限的机器(即没有sudo)在这个存储库中工作.
是否有可移植版的Git for Linux?或者某些源代码允许我只为当前用户编译和安装Git?
Sco*_*ott 34
您可以下载git源代码,并./configure --prefix=/home/user/myroot && make && make install在您拥有构建工具的情况下将git安装到您的主目录.如果您没有安装build-essential软件包(dpkg --list|grep build-essential),则还需要将它们安装到您的主目录中.
相关答案是https://askubuntu.com/a/350.
我可以使用提出的第三种方法:
apt-get source git
cd git_vXXX
./configure --prefix=$HOME
make
make install
Run Code Online (Sandbox Code Playgroud)
我不知道为什么,但是当我尝试从github的源代码下载安装时,我遇到了许多缺少依赖项的问题
要从源代码安装git和依赖项,以下内容可能很有用.
替换为您安装非root应用程序的位置,并考虑检查最新版本的源代码.
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
Run Code Online (Sandbox Code Playgroud)
以用户身份安装 Anaconda 并使用 conda 安装 git。
Anaconda 可以作为用户安装,并且可以创建 conda 环境,它可以帮助您安装其他软件包。这样你不需要从源代码编译git,也不需要安装libcurl和perl,所以你不会得到错误
git: 'remote-https' is not a git command. See 'git --help'
git编译成功后。
wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh.chmod +x Anaconda3-2020.11-Linux-x86_64.sh~/.bashrc文件中 [见下文]。使用这种方法,你的路径不会被污染,并且你会看到与conda相关的二进制文件是否也在你的当前路径中。或者你可以/home/myusername/anaconda3,它将位于/home/myusername/anaconda3/bin. 您的新可执行文件conda也将在那里,它将帮助您安装 git、python 或 pandoc 等软件包,或者cd /home/myusername/anaconda3/bin,并执行以下命令。(base) myusername@servername您正在使用基础的信息康达环境。conda install -c anaconda git。.bashrc如果您告诉 Anaconda 安装程序为您初始化 conda,您将包含这样的内容:
# content of your .bashrc in your home dir
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/myusername/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/myusername/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/myusername/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home/myusername/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
Run Code Online (Sandbox Code Playgroud)
这就是我最终要做的,主要的技巧是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
Run Code Online (Sandbox Code Playgroud)
学分:
上面的79E09796答案是一个很好的技巧,但不适用于我在Cloudways上的情况,也不需要编译curl和expat。
我在互联网上找到的随机电子邮件记录:https : //public-inbox.org/git/CAP8UFD2gKTourXUdB_9_FZ3AEECTDc1Fx1NFKzeaTZDWHC3jxA@mail.gmail.com/
| 归档时间: |
|
| 查看次数: |
35882 次 |
| 最近记录: |