tag - Gestión de paquetes en git para windows?
git versioning (3)
Como se mencionó en el número 397 :
Esto está destinado. No enviamos pacman con Git para Windows.
Si está interesado en un entorno de administración de paquetes completo, debe probar el SDK de Git para Windows .
El bash que ves en el último git para Windows (2.5.3) , que es un bash más reciente que el anterior msysgit , solo está ahí para ejecutar los comandos de git.
No es un entorno de Linux completo para instalar ningún paquete de terceros.
Estoy leyendo wiki en github para git y dice que msys2 incluye pacman: https://github.com/git-for-windows/git/wiki/Package-management
Pero cuando lo invoco:
$ pacman
bash: pacman: command not found
¿Alguien tiene una idea de lo que está pasando? ¿A qué versión de git se refiere esta wiki? ¿Hay una manera de instalar paquetes adicionales a msys2 dentro de Git para Windows?
Git para Windows ( https://gitforwindows.org/ o https://git-scm.com/downloads ) (tiene Git Bash) pero no incluye el tree
. tree
está disponible a través de pacman
(Administrador de paquetes) pero solo está disponible si instala "Git for Windows SDK " (desplácese hasta la parte inferior de https://gitforwindows.org/ que proporciona un enlace para descargar el instalador desde https://github.com/git-for-windows/build-extra/releases/latest )
Este SO: "Gestión de paquetes en git para windows?" ¿Fue muy útil la gestión de paquetes en git para windows?
También como se comentó en el SO anterior, se vinculan a este problema de git para Windows [falta de Pacman en la nueva instalación 2.5.2 # 397] que estaba destinado a no incluir a pacman
en la instalación predeterminada.
De todos modos, instalé "Git para Windows SDK", luego, en su indicador de bash (SDK-64), ejecuté lo siguiente para instalar el árbol actual v1.7.0-1 (a partir de esta publicación, 30 de agosto de 2018):
[SDK-64: Bash Terminal for Git for Windows SDK]
pacman -S tree
...
Proceed with installation? [Y/n] Y
En mi sistema, Git para Windows SDK está instalado en: C:/git-sdk-64
, así que desde mi shell de Git para Windows Bash (que no tenía el árbol instalado), lo copié en tree.exe a su / usr / directorio bin, por ejemplo
[MINGW64: Bash Terminal for Git for Windows]
cd /usr/bin
cp /c/git-sdk-64/usr/bin/tree.exe .
Ahora puedo ejecutar el tree
v1.7.0 desde ambos shells de Git Bash.
Entonces, para hacerlo aún más fácil para los demás y tal vez para mí mismo en una máquina futura, miré desde dónde pacman
el paquete del tree
ejecutando el siguiente en mi terminal Git para Windows SDK Bash:
$ 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
...
La clave, aquí es que pacman
está obteniendo del repositorio "msys" (FYI: aunque dice msys, realmente está usando msys2), así que miré en /etc/pacman.d/mirrorlist.msys
y la primera El espejo apunta a http://repo.msys2.org/msys/$arch/
Entonces, la próxima vez que desee un paquete que NO esté en Git para Windows, puede descargarlo de: http://repo.msys2.org/msys/x86_64/ (para 64 bits) o de http://repo.msys2.org/msys/i686/ (32 bits)
Por ejemplo, enlace de descarga directa para el árbol v1.7.0-1
- 64 bits: http://repo.msys2.org/msys/x86_64/tree-1.7.0-1-x86_64.pkg.tar.xz
- o https://sourceforge.net/projects/msys2/files/REPOS/MSYS2/x86_64/tree-1.7.0-1-x86_64.pkg.tar.xz
- 32 bits: http://repo.msys2.org/msys/i686/tree-1.7.0-1-i686.pkg.tar.xz
- o https://sourceforge.net/projects/msys2/files/REPOS/MSYS2/i686/tree-1.7.0-1-i686.pkg.tar.xz
FYI: la descarga de la ventana de Git SCM en https://git-scm.com/download/ saca lo último de Git para Windows GitHub ( https://github.com/git-for-windows/git de la https://github.com/git-for-windows/git/releases/ link)
Parece que hay una forma documentada de hacer esto sin tener que instalar Git para Windows SDK (que es muy grande). PhilipOakley me dio el enlace a esta información cuando le pregunté sobre todo esto en el número 1912 de GitHub.
Aquí está el texto actual de la página wiki de Git para Windows GitHub al respecto:
Instalar dentro de MSYS2 propiamente dicho
Esta guía asume que desea la versión de Git para Windows de 64 bits.
Git para Windows se basa en MSYS2, es posible instalar el paquete
git
en una instalación existente de MSYS2. Eso significa que si ya está utilizando MSYS2 en su computadora, puede usar Git para Windows sin ejecutar el instalador completo o la versión portátil.Tenga en cuenta, sin embargo, que hay algunas advertencias para ir de esta manera. Git para Windows creó algunos parches para
msys2-runtime
que no se enviaron en sentido ascendente. (Esto había sido planeado, pero en el número #284 se determinó que probablemente no sucedería). Esto significa que debe instalar Git para elmsys2-runtime
personalizado de Windows para tener un git completamente funcional dentro de MSYS2.Aquí los pasos a seguir:
Abra un terminal MSYS2.
Edite
/etc/pacman.conf
y justo antes de[mingw32]
(línea # 71 en mi máquina), agregue el repositorio de paquetesgit-for-windows
:
[git-for-windows] Server = https://wingit.blob.core.windows.net/x86-64
y opcionalmente también el repositorio solo MINGW para la arquitectura opuesta (es decir, MINGW32 para SDK de 64 bits):
[git-for-windows-mingw32] Server = https://wingit.blob.core.windows.net/i686
- Autorizar la clave de firma (este paso puede tener que repetirse ocasionalmente hasta que https://github.com/msys2/msys2/issues/62 esté solucionado)
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
- Luego sincroniza el nuevo repositorio
pacboy update
Esto actualiza
msys2-runtime
y, por lo tanto, le pedirá que cierre la ventana ( no solo que salga del proceso de pacman). No entre en pánico, simplemente cierre todos los programas MSYS2 y MSYS2 abiertos actualmente. Vuelva a verificar el Administrador de tareas ypacman.exe
que todavía se está ejecutando después de cerrar la ventana, ya que puede permanecer. Una vez que todos estén cerrados, comience una nueva terminal nuevamente.Luego sincronice nuevamente (actualizando la parte no central de los paquetes):
pacboy update
- Y finalmente instalar los paquetes Git / cURL:
pacboy sync git:x git-doc-html:x git-doc-man:x git-extra: curl:x
- Finalmente, verifique que todo haya ido bien haciendo
git --version
en un shell MINGW64 y debería mostrar algo comogit version 2.14.1.windows.1
(o más reciente).