web-dev-qa-db-fra.com

La gestion des paquets dans git pour Windows?

Je lis wiki sur github pour git et il dit que msys2 regroupe pacman: https://github.com/git-for-windows/git/wiki/Package-management

Mais quand je l'invoque:

$ pacman
bash: pacman: command not found

Est-ce que quelqu'un a une idée de ce qui se passe? À quelle version de git ce wiki fait-il référence? Existe-t-il un moyen d'installer des paquets supplémentaires dans msys2 dans Git for Windows?

27
carbolymer

Comme mentionné dans numéro 397 :

Ceci est destiné. Nous ne livrons pas pacman avec Git pour Windows.
Si vous êtes intéressé par un environnement entièrement géré par un gestionnaire de paquets, vous devez essayer le SDK Git for Windows .

Le bash que vous voyez dans le latest git pour Windows (2.5.3) , qui est un plus récent que l'ancien msysgit , n'est là que pour exécuter des commandes git.
Ce n’est pas un environnement Linux à part entière d’installer un paquet tiers.

22
VonC

Git pour Windows ( https://gitforwindows.org/ ou https://git-scm.com/downloads ) (contient Git Bash) mais n'inclut pas tree. tree est disponible via pacman (gestionnaire de packages), mais uniquement si vous installez "Git pour Windows SDK" (allez au bas de https://gitforwindows.org/ qui fournit un lien pour télécharger le programme d'installation depuis https://github.com/git-for-windows/build-extra/releases/latest )

This SO: "Gestion des paquets dans git pour Windows?" était très utile Gestion des paquets dans Git pour Windows?

En outre, comme indiqué dans le responsable de la sécurité ci-dessus, le lien vers ce problème git pour Windows [Pacman manquant dans la nouvelle version d'installation 2.5.2 # 397] était censé ne pas inclure pacman dans l'installation par défaut.

Quoi qu'il en soit, j'ai installé "Git pour Windows SDK", puis dans l'invite bash (SDK-64), j'ai exécuté le fichier Pour installer l'arborescence actuelle v1.7.0-1 (à compter de cette publication, le 30 août 2018):

[SDK-64: Bash Terminal for Git for Windows SDK]
pacman -S tree
...
Proceed with installation? [Y/n] Y

Sur mon système, le Kit de développement logiciel (SDK) Git pour Windows est installé sous: C:\git-sdk-64. Ainsi, à partir de mon shell Bash pour Git pour Windows (aucune arborescence n’a été installée), je l’ai copié sur tree.exe dans son répertoire/usr/bin, par exemple.

[MINGW64: Bash Terminal for Git for Windows]
cd /usr/bin
cp /c/git-sdk-64/usr/bin/tree.exe .

Je peux maintenant exécuter tree v1.7.0 à partir des deux shells Git Bash.

Donc, pour rendre la tâche encore plus facile aux autres et peut-être à moi-même sur une future machine, j’ai cherché à savoir où pacman obtenait le paquet tree en le suivant sur mon terminal Bit Git for Windows SDK:

$ pacman -S --info tree
Repository      : msys
Name            : tree
Version         : 1.7.0-1
Description     : A directory listing program displaying a depth indented list of files
Architecture    : x86_64
...

L’important, c’est que pacman l’obtienne du référentiel "msys" (FYI: bien qu’il indique msys, il utilise réellement msys2). J’ai donc regardé /etc/pacman.d/mirrorlist.msys et le premier miroir renvoie à http://repo.msys2.org/msys/$Arch/

Donc, la prochaine fois que vous voudrez un paquet qui n'est PAS dans Git pour Windows, vous pouvez le télécharger à partir de: http://repo.msys2.org/msys/x86_64/ (pour 64 bits) ou de http : //repo.msys2.org/msys/i686/ (32 bits)

par exemple. lien de téléchargement direct pour l'arbre v1.7.0-1

FYI: Le téléchargement de la fenêtre de Git SCM à l’adresse https://git-scm.com/download/ extrait la dernière version de Git pour Windows GitHub ( https://github.com/git-for-windows/git à partir du https://github.com/git-for-windows/git/releases/ link) 

8
N. Ngo

Il semble y avoir un moyen documenté de le faire sans avoir à installer le SDK Git pour Windows (qui est très volumineux). PhilipOakley m'a donné le lien vers cette information lorsque j'ai posé toutes mes questions sur GitHub numéro # 1912 .

Voici le texte actuel de Git pour Windows GitHub page wiki à ce sujet:

Installer dans MSYS2 proprement dit

Ce guide suppose que vous souhaitez utiliser la version 64 bits de Git pour Windows.

Git pour Windows étant basé sur MSYS2, il est possible d’installer le package git dans une installation MSYS2 existante. Cela signifie que si vous utilisez déjà MSYS2 sur votre ordinateur, vous pouvez utiliser Git pour Windows sans exécuter le programme d'installation complet ni utiliser la version portable.

Notez cependant qu'il y a quelques réserves pour aller de cette façon. Git pour Windows a créé des correctifs pour msys2-runtime qui n'ont pas été envoyés en amont. (Cela avait été prévu, mais cela a été déterminé dans le problème # 284 que cela ne se produirait probablement pas.) Cela signifie que vous devez installer Git pour Windows personnalisé msys2-runtime pour disposer d'un git entièrement fonctionnel dans MSYS2.

Voici les étapes à suivre:

  1. Ouvrez un terminal MSYS2.

  2. Editez /etc/pacman.conf et juste avant le [mingw32] (ligne n ° 71 sur ma machine), ajoutez le référentiel de packages git-for-windows:

[git-for-windows] Server = https://wingit.blob.core.windows.net/x86-64

et éventuellement aussi le référentiel MINGW uniquement pour l'architecture opposée (c'est-à-dire MINGW32 pour SDK 64 bits):

[git-for-windows-mingw32] Server = https://wingit.blob.core.windows.net/i686

  1. Autoriser la clé de signature (il peut être nécessaire de répéter cette étape de temps en temps jusqu'à ce que https://github.com/msys2/msys2/issues/62 soit corrigé)

curl -L https://raw.githubusercontent.com/git-for-windows/build-extra/master/git-for-windows-keyring/git-for-windows.gpg | pacman-key --add - && pacman-key --lsign-key 1A9F3986

  1. Puis synchronisez le nouveau référentiel

pacboy update

  1. Ceci met à jour msys2-runtime et vous demandera donc de fermer la fenêtre (not quittez le processus pacman). Ne paniquez pas, fermez simplement tous les shells MSYS2 et programmes MSYS2 actuellement ouverts. Revérifiez le Gestionnaire des tâches et supprimez pacman.exe. Il est toujours en cours d'exécution après la fermeture de la fenêtre, car il peut persister. Une fois que tous sont fermés, redémarrez un nouveau terminal.

  2. Puis synchronisez encore (mettant à jour la partie non centrale des paquets):

pacboy update

  1. Et enfin, installez les paquets Git/cURL:

pacboy sync git:x git-doc-html:x git-doc-man:x git-extra: curl:x

  1. Enfin, vérifiez que tout s'est bien passé en effectuant git --version dans un shell MINGW64 et que celui-ci devrait générer quelque chose comme git version 2.14.1.windows.1 (ou plus récent).
1
Mike Beaton

Je ne voulais pas quitter l'installation de Git pour Windows, qui fonctionnait déjà, alors j'ai un peu improvisé:

  1. Installez Git pour Windows SDK ailleurs. Vous aurez besoin de plus de 3 Go d'espace libre pour cela.
  2. Copier ${git-sdk}/usr/bin/pacman.exe dans ${git}/usr/bin
  3. Copier ${git-sdk}/etc/pacman.conf et ${git-sdk}/etc/pacman.d dans ${git}/etc
  4. Copier ${git-sdk}/var dans ${git}/

C'est tout. Vous pouvez maintenant ouvrir votre Git Bash et exécuter pacman -S python pour installer des packages sur votre configuration existante de Git for Windows.

Vous aurez besoin d'un accès en écriture au répertoire Git pour Windows. De plus, votre pacman pense maintenant que de nombreux paquets ont été installés (à partir du SDK), mais cela ne m'a pas empêché de l'utiliser.

0
Chulup