Chocolatey と PackageManagement(OneGet)
Chocolateyを使う方法は2つあります。
- Chocolateyから
choco install 7zip
- PackageManagementから
install-package -name 7zip -ProviderName ChocolateyGet
2番目の方法がややこしく、Chocolateyではなく ChocolateyGet を使います。
公式よりPackageManagementのChocolateyは現在サポートされていないのでChocolateyGetの使用が推奨されています。
the prototype is not supported. So your best bet is to use ChocolateyGet for now until the official, supported provider is available.
Use ChocolateyGet for now.
例えば次のコマンドを打つと公式のChocolateyのインストールが促されますが、したがってはいけません。ProviderNameのあとのChocolateyは入力補完で候補に出ます。なんという罠…
Find-Package -Name 7zip -ProviderName Chocolatey >The provider 'chocolatey v2.8.5.130' is not installed. >chocolatey may be manually downloaded from >https://onegetcdn.azureedge.net/providers/ChocolateyPrototype-2.8.5.130.exe and >installed. >Would you like PackageManagement to automatically download and install 'chocolatey' >now? >[Y] はい(Y) [N] いいえ(N) [S] 中断(S) [?] ヘルプ (既定値は "Y"):
2番目の方法を使う意味はあるのか?
PackageManagement(OneGet)を他の用途にも使っていない限りありません。 PackageManagement自体はだたのラッパーです。
プロバイダーを複数指定して検索する例。
普通は -ProviderName Nuget, ChocolateyGet
のように名前で指定しますが、今回はプロバイダーをインストールしていないのでSourceで指定しています。
Find-Package Python3* -Source https://www.nuget.org/api/v2/, https://chocolatey.org/api/v2/ <# Name Version Source Summa ry ---- ------- ------ ----- Python35 3.5.1.1 https://www.nuget.org/api/v2/ Py... Python36 3.6.0 https://www.nuget.org/api/v2/ Py... Python37 1.0.0.1 https://www.nuget.org/api/v2/ Py... Python38 3.8.0 https://www.nuget.org/api/v2/ Py... python3 3.8.1.20200110 https://chocolatey.org/api/v2/ Py... python3-x86_32 3.5.2.20170425 https://chocolatey.org/api/v2/ Py... #>
というように複数のプロバイダ(ホスティングサイト)に対して共通のコマンドを使えるのが利点です。ですがChocolateyのみを使う場合choco.exeを使ったほうが分かりやすいと思います。