Chocolateyのメモ

はじめに

Windowsで再インストールをすると、これまで使用した環境に戻すにも手間や時間がかかります。

Linuxであればyum、apt-get等、Macではbrewで対応が比較的簡単にできるのですが、Windowsでは一般的には以下の手順を経ることになると思います。

  • 導入するアプリケーションの公式サイトやダウンロードサイトにアクセス
  • ダウンロード
  • インストーラーを実行、またはファイルの展開・設置

と、アプリケーション毎に手順もまちまちで手間もかかります。

開発が他のアプリケーションなどに依存する場合には、手順書を作って・・・と「開発以外の作業が増えてクソが・・・」と心が濁ってしまします。

いままではWindowsだから仕方ないと思っていたのですが、ネットの情報で「Chocolatey」を使えばできるらしいということで、実験をしてみました。

Chocolateyとは?

Powershell上で使用できるパッケージマネージャになります。その際はGUIのアプリケーションもインストールすることができます。(ただし、インストールパスなどは変更できないのでご注意ください。)Powershellスクリプトを組んだりすれば比較的容易に環境構築できるのはかなり時間の短縮ができそうです。

個人的にに使っているものでリポジトリにもいくつか登録されていました。 Google Chrome、Git、AtomVLC、SourceTree、PuTTY、Node.js、PythonVirtualBox・・・などがありました。2015.04.29現在は2,721パッケージがリポジトリにあるようです。

現在登録されているリポジトリの一覧はここから参照できます。


動作環境

動作環境は公式サイトにも記載されていますが

* Windows XP/Vista/7/8/2003/2008
* .NET Framework 4.0
* PowerShell 2.0

とのことです。比較的に動作環境サポート範囲が広いのも助かります。

インストール

インストール方法も公式サイト参照・・・一応書いておきます。(インストールには管理者権限が必要なので注意してください。)

cmdからであれば

C:\> @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

Powershellであれば

PS C:\> iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))

※コピペするときはコマンドラインの先頭のを削ってください。

この処理が終わると、実行が完了したらC:\ProgramData\chocolateyにChocolateyがインストールされます。コマンドラインからchocolateyコマンドが使用できるようになるので、以下のコマンドで正常にインストールの確認をします。

PS C:\; choco
Chocolatey v0.9.9.5

chocoはchocolateyの短縮コマンドになります。もちろん、chocolateyとしてコマンドを使っても問題ありません。

[ps] PS C:> chocolatey Chocolatey v0.9.9.5 [/ps]

コマンドが実行されるとバージョンが表示されます。versionコマンドがあったのですが、いろいろメッセージがでます。どうもv1.0からversionコマンドはなくなるようなのでその警告のようです。


コマンドの使い方

リポジトリにあるパッケージの一覧を取得するにはlistコマンドを使用します。

[ps] PS C:> choco list [/ps]

リモートにあるリポジトリから一覧を取得するので時間はかかるようです。これでは、ほしいパッケージがあるか探すのに時間がかかるので、listの後にオプションでキーワードを指定することで、検索結果を絞り込んで検索を行います。

[ps] PS C:> choco list 【keyword】 [/ps]

  • インストール済みパッケージの表示

逆にインストール済みのパッケージを表示するには"-localonly"オプションをつけると一覧表示できます。

[ps] PS C:> choco list -localonly PS C:> choco list 【keyword】 -localonly [/ps]

  • インストール

インストールしたいパッケージが見つかったら、choco instllコマンドでインストールできます。また、その際に依存するパッケージを含めてインストールしてくれます。

[ps] PS C:> choco install {packageName} [/ps]

特定のバージョンをインストールする場合は以下のようにVersionオプションを指定します

[ps] PS C:> choco install {packageName} -Version {Verison} [/ps]

  • アップデート

Chocolateyを通じでインストールしたパッケージは以下のコマンドでアップデートします。

[ps] PS C:> choco update 【packageName】 [/ps]

パッケージ名にallと指定すると、インストール済みのすべてのパッケージをアップデートできます。

[ps] PS C:> choco update all [/ps]

以前はupdateの後にパッケージを指定しないとChocolatey自体のアップデートを行うことができたのですが、できなくなったようです。Chocolateyのバージョンアップは以下となるようです。(新しいバージョンだったので多分ということになりますが・・・)

[ps] PS C:> choco update  chocolatey [/ps]

  • アンインストール

Chocolateyでインストールしたパッケージをアンインストールします。

[ps] PS C:> choco uninstall 【packageName】 [/ps]

アンインストールについてはパッケージ側で対応していない場合が多いようです。対応していないパッケージの場合にはChocolateyのリストから削除されますが、Windows側にはインストールされた状態になるようです。

こんなところだと思います。環境設定は面倒ですがこれがあるだけでかなり楽になるかもしれません。これで心を濁さず、クリーンインストール作業が捗りそうです。

/* -----codeの行番号----- */