Help us understand the problem. What is going on with this article?

PackageManagement+ChocolateyGet によるパッケージ管理

Windowsパッケージマネージャとして、一から ChocolateyGet を導入する備忘録。

パッケージマネージャ

ソフトウェアのインストール・アップデート・アンインストールを管理してくれるツール。
これらの作業を手作業でやるよりもずっと簡単で間違いなくできる。

他のパッケージマネージャでは、Linux ライクな Scoop もおすすめです!
(参考:Scoop を使った Windows 環境構築のススメ - Super!! - Qiita

PackageManagement

Windows10に標準搭載されているパッケージマネージャ。
powershell のコマンドレットから利用する。

実際にパッケージを検索したりインストールしたりする機能をロバイダとして指定する。
このプロバイダが何であれ、ユーザーは PackageManagement のコマンドから操作できる

ChocolateyGet

PackageManagement のプロバイダに指定できるものの一つ。
よく知られているのは Chocolatey なんですが、よくインストールやアンインストールに失敗することで評判。
なのでそのへんの心配がない ChocolateyGet を使っていきましょう。

インストール

  1. powershell を管理者権限で起動

  2. Powershell スクリプトの実行ポリシー変更

    powreshell スクリプトが実行できるようにする。
    -Scope Process で現在のセッションに限り変更する。

    powershell(管理者)
     Set-ExecutionPolicy RemoteSigned -Scope Process
    
  3. 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
    
  4. ChocolateyGet プロバイダをインストール

     Install-PackageProvider ChocolateyGet -verbose
    

利用方法

前提として、次の手順を踏む。

  1. powershell を管理者権限で起動

  2. Powershell スクリプトの実行ポリシーを変更

    powershell(管理者)
     Set-ExecutionPolicy RemoteSigned -Scope Process
    
  3. 現在のセッションで使用するプロバイダとして 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

参考

akiakishitai
アウトプットが少なかった過去を戒めて
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした