Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
12
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

@akiakishitai

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

参考

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
12
Help us understand the problem. What are the problem?