ASP.NET と Visual Studio のお手元に Chocolatey のススメ

うおー、先日の Visual Studio Advent Calendar に続いて、今日は ASP.NET Advent Calendar の当番だったー! ということで、この記事を書き始めたのが 19:00 という状況ですが、何とか今日中に更新できそうで一安心。。。

さて、みなさんは開発環境の構築でめんどくさいなーと思ったことはありませんか?

Visual Studio 2015 だと、インストーラーのカスタムセットアップから、Git ツールとかいろいろとインストールできるようになってますが、それでも別途開発に必要なツールをインストールしなければならない状況は多々あるかと思います。

最近は私も下記のツールは大抵の Windows 環境にインストールしています。

  • Git
  • Node.js
  • Gulp (Grunt)
  • Bower
  • Yo
  • TypeScript (tsc)
  • Docker Client for Windows
  • PuTTy
  • Fiddler
  • winmerge
  • zoomit
  • ...

で、これらのツールをより容易にインストールできるツールが Chocolatey です。

Chocolatey Gallery : https://chocolatey.org/

image

このツールは Windows 環境の各種ツールのパッケージマネージャーで、apt-get や yum などと同じ役割を持った Windows のツールと思ってよいかと思います。

Chocolatey そのもののインストールも、上記ページに書かれているスクリプトを管理者権限で開いたコマンドウィンドウまたは PowerShell ウィンドウで実行するだけです。

image

ツールをインストールするのも簡単、例えば Git をインストールする場合は下記コマンドで OK です。

C:\> choco install git

※コマンドウィンドウは必ず管理者権限で開いてください。

どういうパッケージがインストールできるかを調べるには、上記の Chocolatey サイトで一覧を見たり検索したりできます。

Chocolatey パッケージ一覧 : https://chocolatey.org/packages

または、下記コマンドで一覧を表示させることもできます。

C:\> choco list

但しこのままだとすべてのパッケージがコンソールにリストされますので、時間もかかるしあまりよろしくありません。

ある程度探そうとしているパッケージが分かっているのであれば、

C:\> choco list fiddler

などのように、キーワードも一緒に入力すればその関連パッケージのみリストされます。

image

すでにインストールしているパッケージの一覧をリストする場合は、下記のコマンドとなります。

C:\> choco list –l

image

各ツールの最新版へのアップグレードも upgrade や install コマンドで容易に行えます。もちろんアンインストールも uninstall コマンドで簡単です。

Chocolatey のパッケージ一覧を見ると、現時点で 2,978 パッケージが登録されています。その中には Chrome や Firefox などのブラウザもあったり、Adobe Reader もあったり Skype もあったり・・・Chocolatey そのものも Chocolatey で install / upgrade できるんですね。

image

● もちろんオープンソースな Chocolatey

もう当然ですね。Chocolatey もオープンソースで開発が進められています。

https://github.com/chocolatey

● 開発環境の自動化にも Chocolatey

この Chocolatey は PowerShell と NuGet の仕組みを使ったツールで、単にコマンドツールだけというわけではなく、スクリプトによる開発環境構築の自動化ツールとしても活用できます。

◆◆◆ 

Chocolatey については Scott Hanselman も 2013 年 5 月にブログで紹介していますので、こちらもご参考に。

ASP.NET 5 では、Yeoman ツールを使うようになっていたり、node.js や git はある意味必須にと言ってもいい状況ですよね。そんな開発環境構築に、まずはじめに Chocolatey をインストールするとよいことがたくさんありそうです。ぜひお試しを!