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?
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.
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)
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:
Ouvrez un terminal MSYS2.
Editez
/etc/pacman.conf
et juste avant le[mingw32]
(ligne n ° 71 sur ma machine), ajoutez le référentiel de packagesgit-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
- 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
- Puis synchronisez le nouveau référentiel
pacboy update
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 supprimezpacman.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.Puis synchronisez encore (mettant à jour la partie non centrale des paquets):
pacboy update
- Et enfin, installez les paquets Git/cURL:
pacboy sync git:x git-doc-html:x git-doc-man:x git-extra: curl:x
- 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 commegit version 2.14.1.windows.1
(ou plus récent).
Je ne voulais pas quitter l'installation de Git pour Windows, qui fonctionnait déjà, alors j'ai un peu improvisé:
${git-sdk}/usr/bin/pacman.exe
dans ${git}/usr/bin
${git-sdk}/etc/pacman.conf
et ${git-sdk}/etc/pacman.d
dans ${git}/etc
${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.