Gibt es eine Möglichkeit, Chocolatey-Pakete mit ihrem Installationsverzeichnis aufzulisten?

Gibt es eine Möglichkeit, Chocolatey-Pakete mit ihrem Installationsverzeichnis aufzulisten?

Der Befehl

choco list -lo

listet die installierten Pakete auf. Aber wie finde ich heraus, wo eine Chocolatey-Anwendung installiert wird? Bisher musste ich danach suchen.

Einige Beispiele:

  • NUnit geht anProgram Files (x86)
  • WGET geht an%ALLUSERSPROFILE%\chocolatey\bin and %ALLUSERSPROFILE%\chocolatey\lib\[Package Name]\tools
  • ConsoleZ ging zu%ALLUSERSPROFILE%\chocolatey\lib\[Package Name]\tools

Gibt es eine Flagge choco list, die mir sagt, wohin sie gegangen sind? ChocolateyGUI scheint dies auch nicht zu tun.

So ähnlich wie bei Debian:

dpkg-query

Oder von RedHat:

rpm -ql [package-name]

Oder YUMs Repoquery:

repoquery --list [package-name]

Selbstgebrautes:

brew list [package-name]

Antwort1

Derzeit gibt es keine Möglichkeit, das zu tun, worum Sie bitten.

Jedes Chocolatey-Paket ist insofern einzigartig, als dass es sich um einen Wrapper um eine MSI- oder EXE-Datei handeln könnte, oder um eine einfache Extraktion eines komprimierten Archivs an einen bekannten Speicherort, z. B. C:\tools, oder um ein PowerShell-Modul, das in PSModulePath extrahiert, oder um etwas völlig Benutzerdefiniertes.

Dies ist ein Nebeneffekt des Windows-Ökosystems, in dem es mehrere Möglichkeiten gibt, dasselbe zu tun. Chocolatey versucht, hier etwas Ordnung zu schaffen, indem es einen Mechanismus bereitstellt, mit dem man zumindest alle gewünschten Pakete an einem Ort finden kann. Aber die Möglichkeiten von Chocolatey sind begrenzt.

Wenn Sie die Dinge ganz anders betrachten, ist es möglich, Installationsargumente wie folgt an ein Chocolatey-Paket zu übergeben:

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

Theoretisch könnten dadurch die Installationsargumente eines MSI- oder EXE-basierten Chocolatey-Pakets geändert werden, um den Installationsort der Dateien zu ändern. Ein Beispiel für die Verwendung dieses Ansatzes finden Sie hier:

http://chocolatey.org/packages/VisualStudio2013Ultimate

Dieser Ansatz hat jedoch seine Grenzen. Nicht jeder nimmt sich wie Matt die Zeit, die möglichen Installationsargumente zu erwähnen, und es ist ein ziemlich komplizierter Prozess, die möglichen Installationsargumente zu extrahieren, die an eine MSI- oder EXE-Datei gesendet werden können.

In Bezug auf ChocolateyGUI kann ich Ihnen als aktueller Betreuer dieses Produkts sagen, dass es in diesem Bereich nichts Schlaues tut :-). Es ist einfach ein Wrapper um die von Chocolatey bereitgestellten Befehlszeilentools und soll es Leuten einfacher machen, die die Befehlszeile nicht gerne verwenden.

Antwort2

Ich fand einige nützliche Sachen in

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

Sicherlich enthalten diese Protokolle viele (für diesen Fall) redundante Informationen. Aber zumindest können sie eingesehen werden, um besser zu verstehen, was Chocolatey eigentlich macht.

Antwort3

Wahrscheinlich fehlen einige Ergebnisse, aber es hat mir geholfen, einige Pakete zu finden:

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

Antwort4

Leider nicht, soweit ich weiß. Ich glaube, das Installationsverzeichnis wird vom Paket selbst bestimmt. Es ist nicht in der .nuspec-Datei definiert und ich kann nirgendwo sehen, dass es im Chocolatey-Quellcode explizit definiert ist.

Quellcode:https://github.com/chocolatey/chocolatey

verwandte Informationen