web-dev-qa-db-ja.com

非ルートユーザーアカウントでのGitのインストール

私はすでにGitHubにGitリポジトリをセットアップし、Windowsマシンからいくつかの変更をコミットしました。

しかし、明日は、限られた特権(つまり、Sudoなし)でUbuntuを実行しているマシンからこのリポジトリで作業する必要があります。

Linux用のGitのポータブルバージョンはありますか?または、現在のユーザー専用のGitをコンパイルしてインストールできるソースはありますか?

44
BoppreH

Gitソースをダウンロードして、./configure --prefix=/home/user/myroot && make && make installビルドツールがある場合、ホームディレクトリにgitをインストールします。ビルド必須パッケージがインストールされていない場合(dpkg --list|grep build-essential)、ホームディレクトリにもインストールする必要があります。

32
Scott

リンクのみの回答は好きではありませんが、 this link Fedoraマシンで順を追って行ったところ、修正なしで機能しました。とても簡単です。バイナリは〜/ binディレクトリに配置されます。 tarballをダウンロードし、ソースを抽出し、makeを実行し、make installを実行します。

著者が述べているように、2つの前提条件はgccとsshであり、これらを満たしていれば、gitは非rootユーザーとして機能するはずです。

15
demongolem

関連する答えは https://askubuntu.com/a/35 です。

提案された3番目の方法で動作させることができました。

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

理由はわかりませんが、代わりにgithubからダウンロードしたソースからインストールしようとしたときに、依存関係が見つからないという多くの問題がありました

8
lib

ソースから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
8
79E09796

これが私がやったことです、主なトリックはメイクフラグです:

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/

5
bdombro