nuits.jp blog

C#, Xamarin, WPFを中心に書いています。Microsoft MVP for Development Technologies。

はじめてのChocolatey

LinuxやmacOSではそれぞれapt-getやhomebrewのようなパッケージマネージャーが提供されており、開発ツールのインストールなどはコマンドラインから行うのが一般的です。

対してWindowsではGUIから行われることが多いのですが、GUIからの操作は環境構築の再現性を保つのが難しい(もしくはドキュメントを用意するなど手間がかかる)といった側面があります。

そこで今回紹介するChocolateyです。

Chocolateyを利用することでWindowsでもコマンドラインからのパッケージインストールが可能となり、大量のソフトウェアの導入を自動化することが可能となります。Visual StudioやGit、.NETなどの導入も自動化できます(の、ようです)。

本稿でははChocolatey自身の導入と、Node.jsを実際に導入する方法を詳解します。

検証環境

  • Windows 10 1903
  • Chocolatey 0.10.15
  • Node.js 12.9.0

Chocolateyのインストール

Chocolatey自身、コマンドラインから導入できます。コマンドプロンプトかPowerShellを管理者モードで起動して、それぞれ次のように実行してください。

コマンドプロンプト

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

PowerShell

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

うまくいかない場合、こちらを参照してください。

実行後、chocoと実行して次のように表示されていればインストール完了です。

PS C:\WINDOWS\system32> choco
Chocolatey v0.10.15
Please run 'choco -?' or 'choco <command> -?' for help menu.

Node.jsのインストール

コマンドラインから(コマンドプロンプトでもPSでも同様)つぎのように実行しましょう。

choco install nodejs.install -y

-yを付与することでインタラクティブな確認(実行する?Y?N?みたいな)を省略して強制的にインストールできます。自動化するにはそうしますよね。

すると次のように実行されます。

PS C:\WINDOWS\system32> choco install nodejs.install -y
Chocolatey v0.10.15
Installing the following packages:
nodejs.install
By installing you accept licenses for the packages.
Progress: Downloading nodejs.install 12.9.0... 100%

nodejs.install v12.9.0 [Approved]
nodejs.install package files install completed. Performing other installation steps.
Installing 64 bit version
Installing nodejs.install...
nodejs.install has been installed.
  nodejs.install may be able to be automatically uninstalled.
Environment Vars (like PATH) have changed. Close/reopen your shell to
 see the changes (or in powershell/cmd.exe just type `refreshenv`).
 The install of nodejs.install was successful.
  Software installed as 'msi', install location is likely default.

Chocolatey installed 1/1 packages.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
PS C:\WINDOWS\system32>

簡単すぎる!

なおほかのパッケージにどういうものがあるかは、以下をご覧ください。色々揃ってますね!

chocolatey.org

というわけで今日はここまで!