82 votes

Existe-t-il un moyen de lister les paquets Chocolatey avec leur répertoire d'installation ?

La commande

choco list -lo

liste les paquets installés. Mais comment puis-je déterminer où s'installe une application Chocolatey ? Jusqu'à présent, j'ai dû les chercher partout.

Quelques exemples :

  • NUnit va à Program Files (x86)
  • WGET va à %ALLUSERSPROFILE%\chocolatey\bin and %ALLUSERSPROFILE%\chocolatey\lib\[Package Name]\tools
  • ConsoleZ est allé à %ALLUSERSPROFILE%\chocolatey\lib\[Package Name]\tools

Y a-t-il un drapeau sur choco list qui me dira où ils sont allés ? ChocolateyGUI ne semble pas faire cela non plus.

Un peu comme celui de Debian :

dpkg-query

Ou celle de RedHat :

rpm -ql [package-name]

Ou le repoquery de YUM :

repoquery --list [package-name]

Homebrew :

brew list [package-name]

33voto

Gary Ewan Park Points 1580

Actuellement, il n'y a aucun moyen de faire ce que vous demandez.

Chaque paquet Chocolatey est unique dans le sens où il peut s'agir d'une enveloppe autour d'un MSI ou d'un EXE, ou d'une simple extraction d'une archive compressée vers un emplacement connu. C:\tools Il peut s'agir d'un module PowerShell qui extrait vers PSModulePath, ou encore d'un élément totalement personnalisé.

C'est un effet secondaire de l'écosystème Windows, où il existe de multiples façons de faire la même chose. Chocolatey tente d'y mettre un peu d'ordre en fournissant un mécanisme permettant au moins de trouver tous les paquets que vous voulez en un seul endroit, mais les possibilités de Chocolatey sont limitées.

Si vous regardez les choses de manière complètement différente, il est possible de passer des arguments d'installation à un paquet Chocolatey en utilisant ce qui suit :

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

Cela pourrait, en théorie, modifier les arguments d'installation d'un paquet Chocolatey basé sur MSI ou EXE pour changer l'endroit où les fichiers sont installés. Vous pouvez voir un exemple d'utilisation de cette approche ici :

http://chocolatey.org/packages/VisualStudio2013Ultimate

Toutefois, cette approche est limitée. Tout le monde ne prend pas le temps, comme Matt, de mentionner les arguments d'installation possibles, et c'est un processus assez alambiqué que d'extraire les arguments d'installation possibles à envoyer dans un MSI ou un EXE.

En ce qui concerne ChocolateyGUI, et en tant que responsable actuel de ce produit, je peux vous dire qu'il ne fait rien d'intelligent dans ce domaine :-). Il s'agit simplement d'une enveloppe autour des outils en ligne de commande que Chocolatey fournit, et qui vise à faciliter la tâche des personnes qui n'aiment pas utiliser la ligne de commande.

6voto

maoizm Points 855

Si le Chocolat génère une cale pour le paquet, par exemple yourprogram.exe vous pouvez indiquer le chemin du fichier exécutable par la commande Powershell suivante :

$a="path to executable:"
(yourprogram --shimgen-noop | Select-String $a) -split $a | ForEach-Object Trim

Cela ne fonctionne que si shim est un fichier .exe. C'est très courant, bien que certains paquets génèrent des fichiers .ps1, .cmd ou même .bat. Dans ces rares cas, cette recette ne fonctionnera pas.

5voto

tbenz9 Points 6719

Malheureusement, pas à ma connaissance. Je crois que le répertoire d'installation est déterminé par le paquet lui-même. Il n'est pas défini dans le fichier .nuspec, et je ne vois nulle part où il est explicitement défini dans le code source de Chocolatey.

Code source : https://github.com/chocolatey/chocolatey

5voto

dmytro.poliarush Points 161

J'ai trouvé des informations utiles dans

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

Bien sûr, ces journaux contiennent beaucoup d'informations redondantes (dans ce cas). Mais au moins, ils peuvent être consultés pour mieux comprendre ce que fait réellement chocolatey.

2voto

themoretheless Points 29
cinst notepadplusplus.install -ia "'/D=E:\SomeDirectory\npp'"

Si c'était un MSI, alors normalement vous pourriez passer -ia :

INSTALLDIR=""E:\SomeDirectory\npp""

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X