LoginSignup
13
11

More than 5 years have passed since last update.

Windows10でChocolateyを使ってみた

Posted at

この記事について…

開発用PCがWindows10にリプレースされたので、最近業務の合間にセットアップを進めています。
せっかくWindows10になったということで、気になっていたChocolateyを使用したセットアップについて調査してみました。その備忘録を纏めておきます。
尚、2018/08/30現在 Windows10 1803を使用しています。

本当はWindows10標準で使用できるPackageManagementを使用するつもりで記事を書き始めたのですが、Twitterで色々苦戦されている方のツイートが確認できたこと、結局ChocolateyをWrapperしているだけということから、ひとまずPackageManagementは見送りしました。仮想環境を使って色々検証してから、次回以降使用してみたいところですね。)

Chocolateyのサイトにアクセス

Chocolateyのサイトにアクセスすると、[Install Chocolatey Now]と表示されたボタンが見付かるので押下します。すると、かなり丁寧にインストール手順が書かれているので、上から順に見ていきましょう。今回はPowerShellを使用してセットアップします。
尚、Windows10であれば要件は全て満たしています。

  1. 管理者権限でPowerShellを立ち上げます。
  2. PowerShell用のセットアップコマンドをコピーします。(Install with PowerShell.exe の項からコピーできます。)
  3. 1.で立ち上げたPowerShellに2.でコピーしたコマンドを貼り付けして実行します。
  4. 少し待つとインストールが完了します。
  5. 特にエラーが出ていなければ、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のチェックボックスについてチェックを外した場合と同様、/NoAutoCrlfConfiguring 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をご検討ください。

13
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
11