web-dev-qa-db-ja.com

Chocolateyパッケージとそのインストールディレクトリを一覧表示する方法はありますか?

コマンド

_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]
_
58
antwarpes

現在、あなたが求めていることを行う方法はありません。

各Chocolateyパッケージは、MSIまたはEXEのラッパーであるという意味で一意であるか、既知の場所(つまりC:\ tools)への圧縮アーカイブの単純な抽出であるか、またはPowerShellモジュールである可能性があります。 PSModulePathに抽出するか、完全にカスタムなものにすることができます。

これは、同じことを実行する複数の方法があるWindowsエコシステムの副作用です。 Chocolateyは、少なくとも1つの場所で必要なすべてのパッケージを検索するメカニズムを提供することによって、これに何らかの順序を付けようとしていますが、Chocolateyが実行できることはあまりありません。

まったく別の見方をすると、以下を使用してインストール引数をChocolateyパッケージに渡すことができます。

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

これにより、理論的には、MSIまたはEXEベースのChocolateyパッケージのインストール引数を変更して、ファイルのインストール先を変更できます。このアプローチの使用例を次に示します。

http://chocolatey.org/packages/VisualStudio2013Ultimate

ただし、このアプローチには制限があります。だれもがMattのように時間を取って、可能なインストール引数について言及するわけではありません。MSIまたはEXEに送信される可能性のあるインストール引数を抽出するのは、かなり複雑なプロセスです。

ChocolateyGUIに関して、そしてその製品の現在のメンテナーとして、私はそれがこの分野で賢いことは何もないと言っています:-)。これはChocolateyが提供するコマンドラインツールのラッパーにすぎず、コマンドラインの使用を好まないユーザーが簡単に使用できるようにすることを目的としています。

27
Gary Ewan Park

残念ながら、私が知っていることではありません。インストールディレクトリはパッケージ自体によって決定されると思います。それは.nuspecファイルで定義されておらず、Chocolateyソースコードで明示的に定義されている場所はどこにもありません。

ソースコード: https://github.com/chocolatey/chocolatey

5
tbenz9

Chocolateyがパッケージのシムを生成する場合。 yourprogram.exe次のPowershellワンライナーで実行可能ファイルへのパスを伝えることができます:

(yourprogram --shimgen-noop | sls "path to executable:" ) -split "path to executable:" | % {$_.Trim() }

これは、shimが.exeファイルの場合にのみ機能します。これは非常に一般的ですが、一部のパッケージでは.ps1、.cmd、または.batファイルさえ生成されます。これらのまれなケースでは、このレシピは機能しません。

4
maoizm
cinst notepadplusplus.install -ia "'/D=E:\SomeDirectory\npp'"

MSIの場合、通常は-ia

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

1
themoretheless

私はいくつかの便利なものを見つけました

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

確かに、これらのログには多くの冗長な(この場合)情報が含まれています。しかし、少なくともそれらは、実際にチョコレートが何をするかをよりよく理解するために見ることができます。

0