[英]Python/Linux - Manually installing httplib2 as a non-root user
[英]Installing Git with non-root user account
我已经在 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
),您还需要将它们安装到您的主目录中。
我不喜欢仅链接的答案,但是我在 Fedora 机器上一步一步地遵循了 这个链接,它无需修改就可以工作。 非常非常容易。 二进制文件最终位于您的 ~/bin 目录中。 你下载一个 tarball,提取源代码,运行make
并运行make install
,就是这样。
正如作者所说,两个先决条件是 gcc 和 ssh,如果你满足这些条件,作为非 root 用户,git 应该适合你。
一个相关的答案是https://askubuntu.com/a/350 。
我可以使用建议的第三种方法使其工作:
apt-get source git
cd git_vXXX
./configure --prefix=$HOME
make
make install
我不知道为什么,但是当我尝试从 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
这就是我最终要做的,主要技巧是 make 标志:
wget -O git.tar.gz https://github.com/git/git/archive/v2.17.0.tar.gz
tar zxf git.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
学分:
上面 79E09796 的回答是一个很好的提示,但不适用于我在 Cloudways 上的情况,并且不需要编译 curl 和 expat。
我在互联网上发现的随机电子邮件记录: https : //public-inbox.org/git/CAP8UFD2gKTourXUdB_9_FZ3AEECTDc1Fx1NFKzeaTZDWHC3jxA@mail.gmail.com/
以用户身份安装 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 环境。 7 现在您可以通过发出conda install -c anaconda git
来使用conda install -c anaconda git
。 如果您告诉 Anaconda 安装程序为您初始化 conda,您的.bashrc
将包含这样的内容:
# 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 <<<
对于最新版本(我的意思是 git-2.25.0-rc1 或更高版本),您需要
wget https://github.com/git/git/releases/tag/v2.25.0-rc1 -O git.zip
unzip git.zip
cd git-2.25.0-rc1
export PATH=`pwd`:$PATH
当然,为了更方便,您可以将最后一行添加到 .bashrc 或 .zshrc 或其他内容中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.