67 votes

Installation de Git avec un compte d'utilisateur non-Root

J'ai déjà mis en place un dépôt Git sur GitHub et effectué quelques modifications depuis ma machine Windows.

Mais demain, je devrai travailler dans ce dépôt à partir d'une machine fonctionnant sous Ubuntu avec des privilèges limités (c'est-à-dire sans sudo).

Existe-t-il une version portable de Git pour Linux ? Ou une source qui me permette de compiler et d'installer Git uniquement pour l'utilisateur actuel ?

48voto

Scott Points 1042

Vous pouvez télécharger la source git et faire ./configure --prefix=/home/user/myroot && make && make install pour installer git dans votre répertoire personnel, à condition que vous disposiez des outils de construction. Si vous n'avez pas installé le paquet essentiel de construction ( dpkg --list|grep build-essential ), vous devrez également les installer dans votre répertoire personnel.

19voto

demongolem Points 3521

Je n'aime pas les réponses en lien seulement, mais este lien que j'ai suivi pas à pas sur une machine Fedora et cela a fonctionné sans modification. Très, très facile. Les binaires se retrouvent dans votre répertoire ~/bin. Vous téléchargez un tarball, extrayez les sources, exécutez make et exécuter make install et c'est tout.

Comme l'indique l'auteur, les deux prérequis sont gcc et ssh et si vous les remplissez, git devrait fonctionner pour vous en tant qu'utilisateur non-Root.

15voto

79E09796 Points 552

Pour installer git et les dépendances à partir des sources, ce qui suit peut être utile.

Remplacez-le par l'emplacement où vous installez vos applications non-Root et pensez à vérifier les dernières versions du code source.

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

14voto

bdombro Points 46

C'est ce que j'ai fini par faire, l'astuce principale étant de fabriquer des drapeaux :

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

Crédits :

  1. La réponse de 79E09796 ci-dessus était une bonne astuce, mais ne fonctionnait pas pour mon cas sur Cloudways et ne nécessitait pas de compiler curl et expat.

  2. Un enregistrement d'email aléatoire que j'ai trouvé sur internet : https://public-inbox.org/git/CAP8UFD2gKTourXUdB_9_FZ3AEECTDc1Fx1NFKzeaTZDWHC3jxA@mail.gmail.com/

12voto

lib Points 378

Une réponse connexe est https://askubuntu.com/a/350 .

J'ai pu le faire fonctionner avec la troisième méthode proposée :

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

Je ne sais pas pourquoi, mais lorsque j'ai essayé d'installer à partir des sources téléchargées sur github, j'ai eu beaucoup de problèmes avec des dépendances manquantes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X