でも色々インストールしなおすのって面倒ですよね。
というわけで、Windows のPackageManagement に初挑戦です。
れっつとらい。
まず動かしてみる
PowerShell を管理者権限で実行。
Find-PackageProvider
すると「プロバイダー 'nuget v2.8.5.208' がインストールされていません。」云々と表示されますが、ここは素直に「Y」で入れておく。
ちょっとしてからプロパイダの一覧が出てくる。
Name Version Source Summary
---- ------- ------ -------
nuget 2.8.5.208 https://onege... NuGet provider for the OneGet meta-package manager
psl 1.0.0.210 https://onege... psl provider for the OneGet meta-package manager
chocolatey 2.8.5.130 https://onege... ChocolateyPrototype provider for the OneGet meta-pa...
PowerShellGet 2.0.1 PSGallery PowerShell module with commands for discovering, in...
DockerProvider 0.0.0.3 PSGallery PowerShell module with commands for discovering, in...
ContainerImage 0.6.4.0 PSGallery This is a PackageManagement provider module which h...
NanoServerPackage 1.0.1.0 PSGallery A PackageManagement provider to Discover, Save and...
DockerMsftProvider 1.0.0.5 PSGallery PowerShell module with commands for discovering, in...
ChocolateyGet 1.0.0.1 PSGallery An PowerShell OneGet provider that discovers packag...
DockerMsftProviderInsider 1.0.0.2 PSGallery PowerShell module with commands for discovering, in...
GistProvider 0.6 PSGallery Gist-as-a-Package - PackageManagement PowerShell P...
GitHubProvider 0.5 PSGallery GitHub-as-a-Package - PackageManagement PowerShell ...
GitLabProvider 1.3.7 PSGallery GitLab PackageManagement provider
TSDProvider 0.2 PSGallery PowerShell PackageManager provider to search & inst...
OfficeProvider 1.0.0.1 PSGallery OfficeProvider allows users to install Microsoft Of...
MyAlbum 0.1.2 PSGallery MyAlbum provider discovers the photos in your remot...
0install 2.15.1 PSGallery Zero Install is a decentralized cross-platform soft...
AppxGet 0.1.0.1 PSGallery Powershell Package Management (OneGet) Provider for...
WSAProvider 1.0.0.4 PSGallery Provider to Discover, Install and inventory windows...
Pacman-Provider 0.0.1 PSGallery Pacman provider enables installation of pacman pack...
続けて、現在入っているものを見てみる。
Get-PackageProvider
Name Version DynamicOptions
---- ------- --------------
msi 3.0.0.0 AdditionalArguments
msu 3.0.0.0
NuGet 2.8.5.208 Destination, ExcludeVersion, Scope, SkipDependencies, Headers, FilterOnTag, Contains, AllowPrer...
PowerShellGet 1.0.0.1 PackageManagementProvider, Type, Scope, AllowClobber, SkipPublisherCheck, InstallUpdate, NoPath...
Programs 3.0.0.0 IncludeWindowsInstaller, IncludeSystemComponent
ほほー。msiもここに含まれるんですね。
さて、ちょろっと調べた感じだと、解説記事ではだいたいchocolatey を入れるのがお約束みたいです。
タブン先人に倣ってやれば間違いないのでしょうが、せっかくなので他のプロパイダのドキュメントを軽く調べてみます。
DockerMsftProvider と DockerProvider
DockerMsftProviderは以前、Windows Server で Docker を操作するときに入れました。
ではDockerProvider ってなんじゃらほい、と思いましたが、どうやらDockerMsftProviderの対応が遅れている間に使用されていたものみたいですね。最終更新日が2017年9月で止まっているので、今はあまり使われてなさそうです。
DockerMsftProviderInsider
上記のInsider版ですかね。タブン。
ContainerImage
Windows Server のコンテナを利用するときに使うみたいです。Windows Server 専用ですかね。
NanoServerPackage
その名の通り、NanoServer を利用するために使用するみたいですが、VHDイメージの構築にも利用できるみたいです。NanoServer を使用しない場合は不要でしょうか。
ChocolateyGet
chocolateyとなにが違うのだろう……?と調べると、どうやらchocolateyプロパイダを普通に使うと問題がある場合があるみたいですね。その代替として使われているみたいです。
にも「Use ChocolateyGet for now.」と書かれています。本家推奨の模様。
ダウンロード数でもこちらの方が多いみたい。
GistProvider
Gist のファイルを落としてこれる? みたいです。パッケージ管理というよりgithubサポートなのかな?
GitHubProvider
ざっと見る感じ、github公開のソースをzipで落としてきて、解凍するものみたいです。
Windows上でgitが使いやすくなったので、あまり使わないかな?
GitLabProvider
上記GitHubProviderのGitLab版ぽいです。
TSDProvider
TypeScript の定義ファイル(?)をhttps://github.com/DefinitelyTyped/DefinitelyTyped から引っ張ってくる(?)のでしょうか。
スイマセン、TypeScript知らないのでなんとも……
OfficeProvider
Office365 ProPlusを入れるためのものみたいです。自動展開とかしたい人向け?
MyAlbum
PackageManagement プロパイダ開発用のサンプルみたいです。
0install
Zero Instrall というクロスプラットフォーム対応のパッケージ管理システムを利用するためのプロパイダ。
便利そうですが、ダウンロード数の少なさが気になります。
AppxGet
ストアアプリの管理用途?
さらっと見た感じ、インストール済アプリの表示とアンインストールができそうです。
(新規のインストールはできない? 未検証)
WSAProvider
WIndows Server(nano Server) にAppX のアプリケーションを入れるためのもののようです。
Pacman-Provider
不明。
よくわかりませんでした……。なんなんだろう。
どれを入れるべきか