WindowsではWindows Updateなど、Windows自身や各種アプリ自体のアップデーターなどでバージョン管理はあるものの、パッケージ管理がないようなものになっている。Windowsでは伝統的にこのような仕様になっているが、GNU/Linuxシステムを使っている人やHomebrewあるいはMacPortsをインストールしたOS Xを使っている人からしてみればかなり不便な仕様であると考えることができる。しかしながら、Windowsでもあるツールを使えばパッケージ管理が行えるようになる。
Chocolateyでパッケージ管理
WindowsであればChocolateyを使うことでパッケージ管理を行えるようになる。
Chocolateyをインストールする
インストールの前に
Chocolateyを使用する際はインストールの前にPowerShellが必要になる。Windows 7およびWindows Server 2008 R2以降であれば標準でインストールされているが、それ以前のWindowsを使っている方はWindows PowerShell 2.0 のインストールを参考にPowerShellをインストールする必要がある。
GitHubのページ(2016/07/18閲覧時点)によれば現時点ではWindows XPおよびWindows Server 2003以降の対応とのことであるが、セキュリティーの問題を考えるとWindows 7あるいはWindpws Server 2008 R2以降で利用するのが安全だろう
インストール方法
コマンドプロンプトまたはWindows PowerShell ((64bit版Windowsを使っている方は64bit版と32bit版の両方があるが、64bit版の使用を推奨)) を管理者として実行し ((コマンドプロンプトおよびWindows Power Shellを右クリックした際に出てくるメニューで表示される)) 、以下のコマンドを入力する。
コマンドプロンプトを使用している場合
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%chocolateybin
PowerSehllを利用している場合
iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
Chocolateyでパッケージを管理する
Chocolateyのインストールが完了したら、実際にコマンドを入れてみる。ここではwgetというパッケージを例としてパッケージのインストール・アップデート・アンインストールの方法を説明したい。他のツールをインストールしたい場合はそのツールを検索してからインストールすれば良い。
なお、これらのコマンドを入れる場合は必ず管理者として行わなければならない。
パッケージをインストールする
以下のコマンドでインストールできる。
choco install -y wget
なお、「-y」がなくてもインストール自体は可能だが、実行前にインストールするかどうか確認を求められるので若干煩雑になる。
パッケージをアップグレードする
以下のコマンドでアップグレードできる
choco upgrade -y wget
この場合、現時点で最新版でなければ最新版にアップグレード、すでに最新版になっていれば最新版であること旨が表示される.
パッケージをアンインストールする
不要なパッケージは以下のコマンドでアンインストールできる。
choco uninstall -y wget
ただし、JavaやFirefoxなど、Windowsシステムのアンインストール情報を登録するようなパッケージについては、デフォルトでは「Skipping auto uninstaller – AutoUninstaller feature is not enabled.」と表示されてChocolateyでのパッケージ管理から解放するだけで、実際にはアンインストールされないパッケージが少なくない。もしchoco uninstall [パッケージ名]の際に実際にアンインストールを行うようにしたい場合は、以下のコマンドを入れてAutoUninstallerを有効にする必要がある。
choco feature enable -n autoUninstaller
おわりに
Debian系やRed Hat系を中心にGNU/Linuxシステムはごく初期から、OS Xでも2001年にCheetahがリリースされた翌年にMacPorts ((当初の名称はDarwinPorts)) がリリースされる ((他にもfinkがOS Xリリース前後から始まった)) など、GNU/Linux系を中心に一元的なパッケージ管理システムを使う傾向があるが、Windowsでもようやくそれに近いようなことが行えるようなパッケージ管理システムが登場したという印象がある。
これまで、Windowsでは特に顕著だったが、Googleなどでインストールしたいソフトを検索、公式サイトを開いて、インストーラーをダウンロードしてインストールするという面倒な作業をする必要があったが、パッケージ管理システムでコマンド1発で(あるいは検索を加えて2回)でインストールできるという利便性が高まるという点ではかなり便利になるだろうと言える。
現時点ではChocolateyはかなり動作が遅く、なおかつWindowsの仕様上、Chodolateyでは実際のアンインストールが行われないケースが多いという問題点は少なくないものの、環境構築の面で大きく効率が上がったことはかなり大きいと言える。
ウェブマスター。本ブログでITを中心にいろいろな情報や意見などを提供しています。主にスマートフォン向けアプリやウェブアプリの開発を携わっています。ご用の方はコメントかコンタクトフォームにて。