¿Hay alguna manera de enumerar los paquetes de Chocolatey con su directorio de instalación?

¿Hay alguna manera de enumerar los paquetes de Chocolatey con su directorio de instalación?

El comando

choco list -lo

enumera los paquetes instalados. Pero, ¿cómo puedo determinar dónde se instala una aplicación Chocolatey? Hasta ahora he tenido que buscarlos.

Algunos ejemplos:

  • NUnit va aProgram Files (x86)
  • WGET va a%ALLUSERSPROFILE%\chocolatey\bin and %ALLUSERSPROFILE%\chocolatey\lib\[Package Name]\tools
  • ConsoleZ fue a%ALLUSERSPROFILE%\chocolatey\lib\[Package Name]\tools

¿Hay una bandera choco listque me diga adónde fueron? ChocolateyGUI tampoco parece hacer esto.

Algo así como el de Debian:

dpkg-query

O el de RedHat:

rpm -ql [package-name]

O la repositorio de YUM:

repoquery --list [package-name]

cerveza casera:

brew list [package-name]

Respuesta1

Actualmente, no hay forma de hacer lo que estás pidiendo.

Cada paquete de Chocolatey es único en el sentido de que podría ser un contenedor alrededor de un MSI o un EXE, o podría ser una simple extracción de un archivo comprimido a una ubicación conocida, es decir, C:\tools, o podría ser un módulo de PowerShell que se extrae a PSModulePath, o podría ser algo completamente personalizado.

Este es un efecto secundario del ecosistema de Windows, donde existen múltiples formas de hacer lo mismo. Chocolatey está tratando de poner algún tipo de orden en esto proporcionando un mecanismo para al menos encontrar todos los paquetes que desea en un solo lugar, pero Chocolatey no puede hacer mucho.

Si miras las cosas de manera completamente diferente, es posible pasar argumentos de instalación a un paquete Chocolatey usando lo siguiente:

https://github.com/chocolatey/chocolatey/wiki/CommandsInstall#installarguments-optional---v09813

En teoría, esto podría alterar los argumentos de instalación de un paquete Chocolatey basado en MSI o EXE para cambiar dónde se instalan los archivos. Puede ver un ejemplo del uso de este enfoque aquí:

http://chocolatey.org/packages/VisualStudio2013Ultimate

Sin embargo, este enfoque es limitado. No todo el mundo se toma el tiempo como Matt para mencionar los posibles argumentos de instalación que son posibles, y es un proceso bastante complicado extraer los argumentos de instalación que se pueden enviar a un MSI o EXE.

En términos de ChocolateyGUI, y como actual mantenedor de ese producto, puedo decirles que no hace nada inteligente en esta área :-). Es simplemente una envoltura de las herramientas de línea de comandos que proporciona Chocolatey y tiene como objetivo hacerlo más fácil para las personas a las que no les gusta usar la línea de comandos.

Respuesta2

Encontré algunas cosas útiles en

C:\ProgramData\chocolatey\logs\choco.summary.log
C:\ProgramData\chocolatey\logs\chocolatey.log

Seguramente, estos registros contienen mucha información redundante (para este caso). Pero al menos se pueden ver para comprender mejor qué hace realmente el chocolate.

Respuesta3

Es probable que falten algunos resultados, pero me ayudó a localizar algunos paquetes:

(Get-Content C:\ProgramData\chocolatey\logs\choco.summary.log) -match 'Software installed to'

Respuesta4

Desafortunadamente, no que yo sepa. Creo que el directorio de instalación está determinado por el propio paquete. No está definido en el archivo .nuspec y no veo en ninguna parte que esté definido explícitamente en el código fuente de Chocolatey.

Código fuente:https://github.com/chocolatey/chocolatey

información relacionada