Windows 用パッケージマネージャー Chocolatey のインストールと使い方

Linux などではアプリケーションのインストールをパッケージマネージャーが使われます。 それに対し、 Windows ではインストーラーを使うのが主流でした。
しかし、 Windows でも Chocolatey が出てきました。 今回は Windows 用のパッケージマネージャーである Chocolatey について紹介します。

soft_choco_gui_pc.png

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 | iex
PowerShell が 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 でインストールするためにはパッケージ名が必要となります。 どういったパッケージがあるのか、パッケージ名は何かといったことは以下のサイトで検索できます。 soft_choco_gal.png

その他のコマンド

インストール以外のコマンドも使うかなというものを紹介しておきます。 なお、-y オプションは list 以外のすべてのコマンドで使用できます。

コマンド 短縮 説明
choco list -l clist -l インストール済みのパッケージの一覧
choco upgrade パッケージ名 cup パッケージ名 パッケージのアップグレード
パッケージ名に "all" を指定するとインストール済みの全部が対象
choco uninstall パッケージ名 cuninst パッケージ名 パッケージの削除

ChocolateyGUI

ChocolateyGUI は Chocolatey を GUI から使えるようにしたフロントエンドプログラムです。
インストール後、スタートメニューから起動します。

インストール済みパッケージの管理

左の [This PC] を選択するとインストール済みのパッケージのリストが表示されます。
soft_choco_gui_pc.png

このリスト項目を右クリックし、 アンインストール、アップグレードといった操作を行います。

ChocolateyGUI からパッケージをインストール

左の [Chocolatey] を選択するとネットで公開されているパッケージのリストが表示されます。 大量にあるので、 Search で絞りこんで表示させます。
soft_choco_gui_web.png

リスト項目を右クリックし、 [Install] を選択するとパッケージのインストールが始ります。

パッケージのタイプ

GUI やサイトでパッケージを探していると InstallPortable と付いているものが見つかると思います。 その際、どのパッケージを選べばいいか説明したいと思います。


まず、パッケージには 2 つのタイプがあります。
Install
パッケージ内の .msi などのインストーラーを使ってインストールします。
インストーラーを使うといってもインストールウィザードがでるわけではなく、システムにインストールされるということです。 そのため、実行ファイルは "Program Files" といったインストーラーで指定された場所にインストールされ、 コントロールパネルのプログラムのリストに表示されます。
Portable
システムにインストールするのではなく、実行ファイルを Chocolatey で管理します。
実行ファイルは %ChocolateyInstall%\lib (C:\ProgramData\Chocolatey\lib など) におかれ、 %ChocolateyInstall%\bin に呼び出し用のファイルができます。
ほとんどのパッケージは Install タイプで、特に種別がわかれていないパッケージも Install タイプのようです。
なお、 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 の長さには制限があるっぽい)
  • デメリット : スタートメニューやデスクトップのショートカットができない
パッケージのタイプについてより詳しくは Chocolatey の FAQ を見てください。

スポンサーサイト
 
このページをシェア
アクセスカウンター
アクセスランキング
[ジャンルランキング]
コンピュータ
36位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
3位
アクセスランキングを見る>>
カレンダー(アーカイブ)
プルダウン 降順 昇順 年別

12月 | 2017年01月 | 02月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -


はてな新着記事
はてな人気記事
ブロとも申請フォーム
プロフィール

yohshiy

Author:yohshiy
職業プログラマー。
仕事は主に C++ ですが、軽い言語マニアなので、色々使っています。

はてブ:yohshiy のブックマーク
Twitter:@yohshiy

サイト紹介
プログラミング好きのブログです。プログラミング関連の話題や公開ソフトの開発記などを雑多に書いてます。ただ、たまに英語やネット系の話になることも。