Windows のパッケージ管理システム PackageManagement を使おう - Windows10でも Windows7でも
テレ朝チャンネル1で再放送がはじまった『魔法少女まどか☆マギカ』を「勉強のため」と称して鑑賞している kagata です。何の勉強なんだか自分でもよくわかりませんが、ついこの間まで「鹿目」は「しかめ」と読むものと思い込んでいたので、とりあえず人前で恥をかかずにすんでよかったと思います。
さて、先日の記事でも書いたとおり私物 PC を新調して Windows10を常用するようになりました。それを機に使うようになった Windows のパッケージ管理システム PackageManagement が思いのほか快適だったので、今回はこれをご紹介します。Windows7でも使えますよ!
PackageManagement とは
PackageManagement は Windows10に標準搭載されているパッケージ管理システムです。Windows PowerShell から操作します。
Linux には YUM や APT、OS X には Homebrew など、黒い画面からコマンド一発でアプリケーションをインストールしたりアップデートしたりするツールが以前からありました。これと同様のことが Windows でもできるようになったわけです。
例えば、RedHat 系 Linux で git をインストールするときはこうします。
$ yum install git
同じことを、Debian 系 Linux ならこうします。
$ apt-get install git
Mac ならこうするでしょう(やったことないですけど…)。
$ brew install git
ところが Windows では Git for Windows のインストーラを Web で探してダウンロードして…みたいな手順をふまないといけませんでした。それが、PackageManagement の登場により今後は次のコマンド一発になります。
PS> Install-Package -Name git
スマートですね。コマンドの見た目が上3つと比べると若干見慣れないですが、そういうものだと思ってしまえばスマートです(?)。
さらに PackageManagement は単なるパッケージ管理システムにとどまらず、複数のパッケージ管理システムを統一的な API で操作できるようにする基盤としての役割を担っているようです。
Chocolatey という Windows で使えるサードパーティのパッケージ管理システムが以前からありましたが、これも今後は PackageManagement から利用するようになります。上の Git をインストールする例も、厳密には PackageManagement から Chocolatey のパッケージを探してインストールしています。(なので本当は、上のコマンドで Git をインストールするには PackageManagement が Chocolatey を利用できるようにしてある必要があります。)
ゆくゆくは node.js の npm や Ruby の Gem なども PackageManagement を介して利用できるようにしようとしているみたいですね。そのあたりの事情は下記記事がくわしいです。
PackageManagement (aka. OneGet) の利用時の簡単な注意 - tech.guitarrapc.cóm
Windows7でも使える!
上にも書いたとおり、PackageManagement は Windows10から標準搭載されました。それ以前の Windows では使えないものと思っていたのですが、Windows7や8.1などで使える PackageManagement が "preview release" ながら出ていました。
Download PackageManagement PowerShell Modules Preview from Official Microsoft Download Center
基本的には上のページからインストーラをダウンロードしてインストールすればよいのですが、PackageManagement を利用するには Windows PowerShell 3.0以上が必要です。Windows7にインストールされている PowerShell はバージョン2.0と古いので、対応する最新バージョン4.0にバージョンアップしておきましょう。PowerShell4.0 は Windows Management Framework 4.0に同梱されています。
Download Windows Management Framework 4.0 from Official Microsoft Download Center
PowerShell のバージョンを確認するには、PowerShell から環境変数 PSVersionTable
の内容を確認します。
PS> $PSVersionTable
Name Value
---- -----
PSVersion 4.0
WSManStackVersion 3.0
SerializationVersion 1.1.0.1
CLRVersion 4.0.30319.34209
BuildVersion 6.3.9600.16406
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion 2.2
参考:PowerShell - Windows7でもPackageManagement(OneGet) - Qiita
なお、Windows7や8.1で動作する Windows Management Framework 5.0がプレビュー版かつ英語版ながらリリースされています。未確認ですが、これをインストールすれば最新の PowerShell5.0と PackageManagement が一発で使えるようになると思います。
Microsoft、「Windows Management Framework 5.0 Production Preview」を公開 - 窓の杜
結び
「PackageManagement を使おう」といいつつ、導入だけで長くなってしまって具体的な使い方にはふれられませんでした。詳しい使い方は参考記事をご覧ください。よい題材が見つかれば、使い方の例もおいおいご紹介しようと思います。