この記事について…
開発用PCがWindows10にリプレースされたので、最近業務の合間にセットアップを進めています。
せっかくWindows10になったということで、気になっていたChocolatey
を使用したセットアップについて調査してみました。その備忘録を纏めておきます。
尚、2018/08/30現在 Windows10 1803を使用しています。
本当はWindows10標準で使用できる
PackageManagement
を使用するつもりで記事を書き始めたのですが、Twitterで色々苦戦されている方のツイートが確認できたこと、結局Chocolatey
をWrapperしているだけということから、ひとまずPackageManagement
は見送りしました。仮想環境を使って色々検証してから、次回以降使用してみたいところですね。)
Chocolateyのサイトにアクセス
Chocolateyのサイトにアクセスすると、[Install Chocolatey Now]と表示されたボタンが見付かるので押下します。すると、かなり丁寧にインストール手順が書かれているので、上から順に見ていきましょう。今回はPowerShellを使用してセットアップします。
尚、Windows10であれば要件は全て満たしています。
- 管理者権限でPowerShellを立ち上げます。
- PowerShell用のセットアップコマンドをコピーします。(Install with PowerShell.exe の項からコピーできます。)
- 1.で立ち上げたPowerShellに2.でコピーしたコマンドを貼り付けして実行します。
- 少し待つとインストールが完了します。
- 特にエラーが出ていなければ、
choco
とかchoco -?
とかコマンドを実行してみましょう!
PowerShell用のセットアップコマンドを確認する
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
Set-ExecutionPolicy Bypass -Scope Process -Force
の部分では、「現在のプロセスに限り強制的に実行ポリシーをBypass(ブロックされず、警告等も出ない)に変更」という処理をしています。
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
の部分では、「Chocolateyのサイトからinstall.ps1
をダウンロードして、iex
(Invoke-Expression
のエイリアス)でPowerShellスクリプトを実行」という処理をしています。
参考
Web上にスクリプトを置いて、PowerShellで実行可能にしてみた(その1/Hello,World編)
https://qiita.com/minr/items/b4f71dad4438707d84d3
操作方法
以下のようにコマンドを実行すると、色々なパッケージ操作を行うことができます。
# パッケージの検索
choco list package_name
# パッケージのインストール
choco install package_name
# パッケージのアップグレード
# choco update は廃止であるとDocsに記載有
choco upgrade package_name
# パッケージのアンインストール
choco uninstall package_name
ChocolateyGUIをインストールしてみよう
管理者権限でPowerShellを立ち上げて、下記のコマンドを実行するとChocolateyGUIをインストールすることができます。GUI形式でChocolateyのパッケージ管理ができて便利です。
choco install chocolateygui
Git for Windowsをインストールしてみよう
管理者権限でPowerShellを立ち上げて、下記のコマンドを実行するとGit for Windowsをインストールすることができます。
choco install git --params "/NoShellIntegration /NoAutoCrlf"
--params
によって指定した内容の詳細についてはこちらを確認した方が確実だと思いますが、ざっくり説明すると/NoShellIntegration
はインストーラーを使用した際のWindows Explorer integration
のチェックボックスについてチェックを外した場合と同様、/NoAutoCrlf
はConfiguring the line ending conversions
の値をCheckout as-is, commit as-is
と指定した場合と同様に設定を行います。
前者についてはインストール時にしか変更できないものであり、後者については下記のコマンドを実行することと同様です。
git config --file C:\ProgramData\Git\config core.autocrlf false
Chocolateyを使用するとGit for Windows以外にも色々とパッケージが自動インストールできますが、インストール時に設定初期値を変更したい場合があれば、一度Chocolateyのサイトで--params
が準備されていないか確認してみるのがいいと思います。
使ってみた感想
ちょうど作業中にバージョンが上がったパッケージがあったのですが、choco upgrade package_name
とするだけで面倒な操作なくアップグレードできた際は感動しました。(Linuxでは日常ですが、Windowsでできると感動。)
ChocolateyGUIを使用するとインストール済みのパッケージをxml形式で掃き出しすることができ、次回Windowsセットアップ時はそれを使用して一括インストールもできるようです。自宅機の話ですがWindows10になってからは再インストールをする機会も多いので、これでセットアップ作業がぐっと楽になるなーと思いました。
Windows7からのリプレースが盛んな時期ですが、是非Chocolateyをご検討ください。