
コマンド
choco list -lo
インストールされたパッケージを一覧表示します。しかし、Chocolatey アプリケーションがどこにインストールされているかをどのように判断すればよいのでしょうか? これまでは、探し回らなければなりませんでした。
いくつかの例:
- NUnitは
Program Files (x86)
- WGETは
%ALLUSERSPROFILE%\chocolatey\bin and %ALLUSERSPROFILE%\chocolatey\lib\[Package Name]\tools
- ConsoleZは
%ALLUSERSPROFILE%\chocolatey\lib\[Package Name]\tools
choco list
どこに行ったかを示すフラグはありますか? ChocolateyGUI もこれを実行していないようです。
Debian のようなもの:
dpkg-query
または RedHat の場合:
rpm -ql [package-name]
または、YUM の repoquery:
repoquery --list [package-name]
自家製:
brew list [package-name]
答え1
現時点では、あなたが求めていることを実行する方法はありません。
各 Chocolatey パッケージは、MSI または EXE のラッパーである場合もあれば、圧縮アーカイブを既知の場所 (C:\tools など) に単純に抽出したものである場合もあれば、PSModulePath に抽出する PowerShell モジュールである場合もあれば、完全にカスタムである場合もあるという点で、それぞれが固有です。
これは、同じことを実行する方法が複数ある Windows エコシステムの副作用です。Chocolatey は、必要なパッケージをすべて 1 か所で見つけられるメカニズムを提供することで、これに何らかの秩序をもたらそうとしていますが、Chocolatey でできることには限界があります。
まったく別の視点から見ると、次のようにして Chocolatey パッケージにインストール引数を渡すことが可能です。
https://github.com/chocolatey/chocolatey/wiki/CommandsInstall#installarguments-optional---v09813
理論的には、これにより、MSI または EXE ベースの Chocolatey パッケージのインストール引数を変更して、ファイルのインストール先を変更できます。このアプローチが使用されている例を次に示します。
http://chocolatey.org/packages/VisualStudio2013Ultimate
ただし、このアプローチには限界があります。誰もが Matt のように時間をかけて、可能なインストール引数について言及するわけではありません。また、MSI または EXE に送信できるインストール引数を抽出するのはかなり複雑なプロセスです。
ChocolateyGUI に関しては、この製品の現在のメンテナーとして、この分野では何も賢いことはしていないと言えます :-)。これは単に Chocolatey が提供するコマンド ライン ツールのラッパーであり、コマンド ラインの使用を好まない人々にとって使いやすくすることを目的としています。
答え2
役に立つものを見つけました
C:\ProgramData\chocolatey\logs\choco.summary.log
C:\ProgramData\chocolatey\logs\chocolatey.log
確かに、これらのログには多くの冗長な情報(この場合)が含まれています。しかし、少なくとも、これらを表示することで、chocolatey が実際に何をしているかをよりよく理解できます。
答え3
結果がいくつか欠落している可能性がありますが、いくつかのパッケージを見つけるのに役立ちました。
(Get-Content C:\ProgramData\chocolatey\logs\choco.summary.log) -match 'Software installed to'
答え4
残念ながら、私の知る限りではありません。インストール ディレクトリはパッケージ自体によって決定されると思います。.nuspec ファイルでは定義されておらず、Chocolatey ソース コードで明示的に定義されているところはどこにも見当たりません。