Windows 用パッケージマネージャー Chocolatey のインストールと使い方
Linux などではアプリケーションのインストールをパッケージマネージャーが使われます。
それに対し、 Windows ではインストーラーを使うのが主流でした。
しかし、 Windows でも Chocolatey が出てきました。
今回は Windows 用のパッケージマネージャーである Chocolatey について紹介します。
Chocolatey の利点
パッケージマネージャーというのは、 アプリケーションをインストールする際に依存するライブラリーや他のプログラムも ネットから取ってきて、 一緒にインストールしてくれるといったツールです。インストーラーの方がインストール先や構成などを細かくカスタマイズ出来ることが多いですが、 パッケージのダウンロードとインストールをいっぺんにやってくれる分、楽です。 また、アップグレードやアンインストールといった管理もできるようになります。
Chocolatey のインストール
Chocolatey をインストールする場合、 コマンドプロンプトまたは PowerShell からインストールします。 この際、管理者として実行しておく必要があります。(右クリックのメニューから選択)コマンドプロンプト
コマンドプロンプトの場合、以下を実行します。> @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
PowerShell
PowerShell 場合、実行ポリシー が "Restricted" 以外でなければ、スクリプトが起動できません。 デフォルトが Restricted なので、次のコマンドで実行ポリシーを変更しておく必要があります。 (コマンドプロンプトの方はオプションでその変更が記述されています)> Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Processポリシー変更後、以下のコマンドを実行します。
> iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iexPowerShell が v3 よりも古い(iwr がない)場合は次のコマンドを実行します。
> iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
Chocolatey の使い方
パッケージのインストール
Chocolatey がインストールされると以下のコマンドでパッケージのインストールできます。> choco install パッケージ名なお、インストール時にはスクリプト実行許可などの問い合わせがあります。 これが面倒な場合は -y オプションを付けるとすべて Yes としてインストールします。
また "choco install" を短く書ける cinst コマンドも用意されています。
> cinst パッケージ名
インストール以外の操作は次章で紹介する GUI 上からやった方が楽だと思います。
GUI ツールは以下のコマンドでインストールします。
> cinst -y chocolateygui
パッケージを探す
Chocolatey でインストールするためにはパッケージ名が必要となります。 どういったパッケージがあるのか、パッケージ名は何かといったことは以下のサイトで検索できます。
その他のコマンド
インストール以外のコマンドも使うかなというものを紹介しておきます。 なお、-y オプションは list 以外のすべてのコマンドで使用できます。コマンド | 短縮 | 説明 |
---|---|---|
choco list -l | clist -l | インストール済みのパッケージの一覧 |
choco upgrade パッケージ名 | cup パッケージ名 |
パッケージのアップグレード パッケージ名に "all" を指定するとインストール済みの全部が対象 |
choco uninstall パッケージ名 | cuninst パッケージ名 |
パッケージの削除 |
ChocolateyGUI
ChocolateyGUI は Chocolatey を GUI から使えるようにしたフロントエンドプログラムです。インストール後、スタートメニューから起動します。
インストール済みパッケージの管理
左の [This PC] を選択するとインストール済みのパッケージのリストが表示されます。
このリスト項目を右クリックし、 アンインストール、アップグレードといった操作を行います。
ChocolateyGUI からパッケージをインストール
左の [Chocolatey] を選択するとネットで公開されているパッケージのリストが表示されます。 大量にあるので、 Search で絞りこんで表示させます。
リスト項目を右クリックし、 [Install] を選択するとパッケージのインストールが始ります。
パッケージのタイプ
GUI やサイトでパッケージを探していると Install や Portable と付いているものが見つかると思います。 その際、どのパッケージを選べばいいか説明したいと思います。まず、パッケージには 2 つのタイプがあります。
- Install
- パッケージ内の .msi などのインストーラーを使ってインストールします。
インストーラーを使うといってもインストールウィザードがでるわけではなく、システムにインストールされるということです。 そのため、実行ファイルは "Program Files" といったインストーラーで指定された場所にインストールされ、 コントロールパネルのプログラムのリストに表示されます。
- Portable
- システムにインストールするのではなく、実行ファイルを Chocolatey で管理します。
実行ファイルは %ChocolateyInstall%\lib (C:\ProgramData\Chocolatey\lib など) におかれ、 %ChocolateyInstall%\bin に呼び出し用のファイルができます。
なお、 Install タイプだからといって、アンインストール時に実行ファイルが残るということはありません。 アンインストーラーを呼び出し、ファイルの削除、システムの設定の変更を行います。 (アンインストーラーが消し切れていないということはあるかもしれませんが)
パッケージのタイプは 2 つですが、パッケージには autohotkey のように "拡張子無し"、 autohotkey.intall、 autohotkey.portable と 3 種類用意されているものがあります。
この場合 .install、 .portable はそれぞれのタイプのもので、"拡張子無し" が仮想パッケージとなります。 仮想パッケージの機構がまだ完全に実現できてないらしいので、微妙なところですが、動作的には intall タイプのようです。
また .app、 .tool、 .commandline がついているパッケージもあります。 こちらは .app が .install、 .tool と .commandline は .portable と同じ意味です。 ただし、現在は非推奨の名称となっています。
2 つのタイプを踏まえて、パッケージを選択します。 どちらをインストールするかは好みだと思いますが、個人的に感じた Portable の特徴は次のようなものなので、 コマンドラインプログラムの場合は Portable の方がいい気がします。
- メリット : %ChocolateyInstall%\bin に置かれるので、コマンドラインで使うプログラムの場合でも環境変数 PATH に追加する必要がない (PATH の長さには制限があるっぽい)
- デメリット : スタートメニューやデスクトップのショートカットができない