Windowsパッケージマネージャとして、一から ChocolateyGet
を導入する備忘録。
パッケージマネージャ
ソフトウェアのインストール・アップデート・アンインストールを管理してくれるツール。
これらの作業を手作業でやるよりもずっと簡単で間違いなくできる。
他のパッケージマネージャでは、Linux ライクな Scoop
もおすすめです!
(参考:Scoop を使った Windows 環境構築のススメ - Super!! - Qiita)
PackageManagement
Windows10に標準搭載されているパッケージマネージャ。
powershell
のコマンドレットから利用する。
実際にパッケージを検索したりインストールしたりする機能をロバイダとして指定する。
このプロバイダが何であれ、ユーザーは PackageManagement
のコマンドから操作できる
ChocolateyGet
PackageManagement
のプロバイダに指定できるものの一つ。
よく知られているのは Chocolatey
なんですが、よくインストールやアンインストールに失敗することで評判。
なのでそのへんの心配がない ChocolateyGet
を使っていきましょう。
インストール
-
powershell
を管理者権限で起動 -
Powershell スクリプトの実行ポリシー変更
powreshell
スクリプトが実行できるようにする。
-Scope Process
で現在のセッションに限り変更する。powershell(管理者)Set-ExecutionPolicy RemoteSigned -Scope Process
-
ChocolateyGet
プロバイダを検索Find-PackageProvider ChocolateyGet -verbose
初めて
PackageManagement
を使うときは次のメッセージが出るのでY
を入力してインストールしておく。nugetインストール(初回)プロバイダー 'nuget v2.8.5.208' がインストールされていません。 nuget は、https://onegetcdn.azureedge.net/providers/Microsoft.PackageManagement.NuGetProvider-2.8.5.208.dll から手動でダウンロードしてインストールすることができます。 PackageManagement で nuget を自動的にダウンロードしてインストールしますか? [Y] はい(Y) [N] いいえ(N) [S] 中断(S) [?] ヘルプ (既定値は "Y"): Y
-
ChocolateyGet
プロバイダをインストールInstall-PackageProvider ChocolateyGet -verbose
利用方法
前提として、次の手順を踏む。
-
powershell
を管理者権限で起動 -
Powershell スクリプトの実行ポリシーを変更
powershell(管理者)Set-ExecutionPolicy RemoteSigned -Scope Process
-
現在のセッションで使用するプロバイダとして
ChocolateyGet
をインポートpowershell
を開くたびインポートする必要がある、はず。Import-PackageProvider ChocolateyGet
Get-PackageProvider
コマンドで出力される結果にChocolateyGet
が含まれていればよい。
Choco.exe
初回コマンド実行時に次のメッセージが表示された場合、Y
を入力してインストールする。
Choco.exe is required to continue
ChocolateyGet is built on Choco.exe. Do you want ChocolateyGet to install Choco.exe from
'https://chocolatey.org/install.ps1' now?
[Y] はい(Y) [N] いいえ(N) [S] 中断(S) [?] ヘルプ (既定値は "Y"): y
パッケージ検索
Find-Packeg
コマンドを使用。
-ProviderName ChocolateyGet
オプションで利用するプロバイダとして ChocolateyGet
を指定する。
-Name
オプションではパッケージ名を指定。
Find-Package -ProviderName ChocolateyGet -Name gitea
パッケージ名の指定にはワイルドカードとして *
も利用できる。
パッケージインストール
Install-Package -ProviderName ChocolateyGet -name gitea
次のようなメッセージが表示される。
Y
を入力すればインストールする。
パッケージは、信頼済みとマークされていないパッケージ ソースから取得されています。
'https://www.chocolatey.org' からソフトウェアをアンインストールしますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "N"): y
Are you sure you want to perform this action?
Installing package 'gitea'. By Installing you accept licenses for the package(s). The package possibly needs to run
'chocolateyInstall.ps1'.
[Y] はい(Y) [N] いいえ(N) [S] 中断(S) [?] ヘルプ (既定値は "Y"): y
パッケージのアンインストール
Get-Package gitea -provider ChocolateyGet -verbose | Uninstall-Package -AdditionalArguments '-y --remove-dependencies' -Verbose