こんにちは、技術研究所の「どらお」です。

 

最近、私用PC(Windows)を新しくしたのですが、今まで使っていたソフトを一日がかりで再インストールしなおしました。
PCのセットアップって正直「めんどくさい」ですよね。
※若い頃は、自分好みにカスタマイズしているみたいで楽しかったと感じたりもしましたが。

このような状況はプロジェクトでもよく思います。

弊社では開発のメインマシンにWindows OSを利用しているのですが、プロジェクトが変わったりすると今まで使っていたPCを返却して、別のPCが支給されることがあります。

そのため、今まで使っていた開発に必要なソフトを再インストールする必要があり、
「インターネット検索」→「サイト接続」→「OSとバージョンを確認しダウンロード」→「インストール」
という作業を都度都度実施していき最悪の場合、インストール作業で一日が終わってしまうこともあります。

ダウンロード済みのソフトがサーバにまとめられているもこともありますが、OSのbit数ごとに保管する必要があり、ソフトのバージョン管理が面倒になりがちです。
また、インターネット上からソフトウェアをダウンロードしてくると悪意のあるサイトからソフトを入手してしまい、意図せずしてウィルスが検知される危険性もあります。

パッケージ管理システム Chocolatey

どうにか開発環境構築を楽にできないかなと探していて見つかったのが、Chocolateyです。
ChocolateyはWindows上で利用できるパッケージ管理システムです。

パッケージ管理システムって?

Linuxでいうところのyumのようなものだと思っていただければと思います。

パッケージ管理システムを使えば、
「インターネット検索」→「サイト接続」→「OSとバージョンを確認しダウンロード」→「インストール」

「コマンドたたく」→「インストール」
となり、作業がかなり短縮されます。

早速使ってみました

◇Chocolatey本体のインストール

まず、Chocolatey本体のインストールが必要になります。
管理者権限でコマンドプロンプトを起動して以下のコマンドを実行するだけです。

C:\>@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

インストール出来ているか確認するには

C:\>choco

と入力して、バージョンが表示されていればインストール完了です。

社内作業等でプロキシ設定がされている場合は、プロキシ設定が必要になります。
といっても設定はとても簡単で、インターネットの設定からプロキシを設定しておくだけで、Chocolateyがシステム設定を読み込んでくれます。

◇Chocolateyを利用してソフトのインストール

早速Chocolateyからソフトをインストールしてみましょう。
※インストールできるソフトはChocolateyに登録されている必要があります。
使ってみたところ、ブラウザや解凍ソフト、IDEなど開発に必要なソフトはほぼほぼそろっている印象です。
ただ、海外サイトなためPleiadesやA5:SQL Mk-2などの国内向けソフトウェアは登録されていないことが多いためため、別途普通にインストールが必要です。

まず、インストールしたいソフトがChocolateyに登録されているかを確認するには

C:\>choco list {ソフト名}

と入力します。
登録されているソフトについてはブラウザ上からも確認することができます。

ソフトをインストールするには

C:\>choco install {ソフト名}

と入力します。

また、GUIで利用できるアプリが用意されています。

C:\>choco install ChocolateyGUI

で、GUIをインストールできます。

またインストールするソフトが決まっている場合、xmlに必要な情報を記載して一括で登録することも可能です。
packages.config
という、xmlを準備して

C:>choco install {packages.config}

で一括インストールが可能です。

packages.configのサンプルは以下のようになります。

<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Atom" version="1.0.7" />
<package id="chocolatey" version="0.10.3" />
<package id="ChocolateyGUI" version="0.13.2" />
<package id="PowerShell" version="5.0.10586.20151218" />
<package id="tortoisesvn" version="1.9.4" />

</packages>

これは非常に便利ですね。

なおGUIを使えば、インストールされているソフトのpackages.configをワンクリックで生成してくれるため、複製が簡単にできるようになっています。

◇ソフトのバージョンアップとアンインストール

ソフトのバージョンアップしたい場合は、

C:>choco upgrade {ソフト名} 

のようにすれば更新できます。

C:>choco upgrade {ソフト名} --version {バージョン}

でバージョン指定も可能です。
また、不用意にバージョンアップしたくない場合、Pinというコマンドが用意されておりバージョン固定も可能なようです。

ソフトのアンインストールは

C:>choco uninstall {ソフト名}

でアンインストールが可能です。

その他、できることについては多数あるためこちらから確認ください。

最後に

通常、プロジェクトで新規参画メンバーがいると、PC操作をしながら各々開発環境を準備して行くわけですが、Chocolateyを使えばコマンドを一発たたけば簡単に標準開発環境を構築できるようになります。

定型作業はどんどん簡略化して作業の無駄をなくしましょう。

なおChocolateyにはビジネスライセンスも用意されています。

実はWindows10にはデフォルトでPackageManagementというパッケージ管理システムのPowerShellコマンドが準備されています。
PackageManagementだけではソフトのライブラリが少ないため、Chocolateyをライブラリ先にしていて使うことが多いようなので今回はChocolateyを紹介しました。
機会があればPackageManagementについても紹介したと思います。