Chocolateyがとても便利だったので紹介する

作業風景の写真、pixabayより
rawpixel / Pixabay

 最近、Chocolateyを導入したところ、とても便利だったので紹介します。

広告

Chocolateyとは?

 いわゆる、パッケージマネージャーというものの一つです。Windowsで動作します。

パッケージマネージャとは

 ソフト(パッケージ)の導入と削除などを管理するシステムです。
 登録されたソフトウェアの登録場所(ソフトウェアリポジトリ)からソフトウェアをとってきてインストールしたり、そのソフトウェアリポジトリにあるバージョンが更新されればそれをコマンド一つでインストールできます。
 LinuxやMacには標準でこういったパッケージマネージャが準備されていますが、Windowsは10になってやっと公式のPowerShellの機能の一つとして加わったばかりです(といっても、どうやら機能的には色々と足りないようですが)。
 ですので、Windows10で、しかも多少機能が足りないPowerShellの標準のものを使わない場合は、別途パッケージマネージャをインストールする必要があります。

Chocolateyの位置づけ

 Chocolateyは、Windowsのパッケージマネージャの中でもメジャーなツールです。
 パッケージ(ソフト)の検索、インストール、アップデート、バージョンを指定してのインストールなど、様々な機能が備わっています。
 最近ではほかにもScoopなどのWindowsで動くパッケージマネージャが登場していますが、やはりなかなか強い勢力のままです。
 ソフトウェアリポジトリはそこそこ充実していますが、なにせ特に標準のツールでもないので、Chocolateyから目的のものができるかは検索してからになりますし、中には個人が好きなソフトをChocolateyからインストールできるようにパッケージを用意しているものもあるようで、その場合、公式でもないですし、常に公式で最新のソフトをインストールできるかはわかりません。でも審査はあるので、それなりに安心して使えます。

 Linuxのyumですとか、aptなどのパッケージマネージャはこれよりも強いコミュニティがあるようですので、yumやapt並みの「大体なんでもとってこれる」系のパッケージマネージャを使ったことのある方にとっては物足りないかもしれません。というかWindowsでそういうものを求めても多分ないです。
 元々Windowsのインストール方法ってメジャーなのはやっぱりインストーラなので、仕方ないというべきかな…。

Chocolateyの便利な点

 私が使って見て便利だと思った点は以下。

  • コマンド一つでインストールできる
  • コマンド一つでアップデートできる
  • インストールしているパッケージも一覧で確認できる(choco list -l)
  • 様々なソフトがリポジトリに入っている(Vivaidi, Firefox, Goocle Chrome, Firefoxから、Cmder等まで)。

 特に、コマンド一つでソフトをインストールできるのは重宝します。公式サイトに行って、インストーラをDLして、そのインストーラを実行して…という作業からは、そのソフトがソフトウェアリポジトリにチェックを受けた状態(のちに書く「approved」の状態)であるならば、解放されるのです。

 また、インストールと同じく、コマンド一つでアップデートできるのも助かります。自動アップデート機能がないソフトでも、Chocolateyのリポジトリに新しいものがあれば、コマンド一つでアップデートできます。便利です。

Chocolateyの欠点

 コマンド一つでソフトをインストールしたりアップデートできる便利さはいいのですが、それと表裏一体で、コマンドラインを使い慣れていないとちょっと敷居が高いです(一応GUIはあるのでそれを使えるかもしれないが、その導入にもたぶんコマンドラインがいる)。
 あと、他のOSにおけるyumなどのパッケージ管理ツールよりもパッケージは少ないです。

Chocolateyのインストール方法

Installの案内ページに書いてあるコマンドを、cmdもしくはPowerShellから実行します。

コマンドプロンプトを使う場合(多分Windows7とかはこれ):

@"%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'))

 なおこれらのコマンドは執筆時点のものですから、最新のコマンドでインストールしたい場合はInstallページのコマンドをコピペしてください。
 ちなみに、Windowsに標準搭載されたPackageManagementからでも連携できるみたいですが、なんか私の環境ではどうもChocolatey自体をPackageManagementでインストールするのはうまくいかなかった?感じです。

 なおこの後、PowerShellに関してはインストールスクリプトの余波でExecutionpolicyがBypass(なんでも通す)になっている可能性があるので、念のため
 Set-Executionpolicy RemoteSigned
 としておくのがおすすめです。なぜRemoteSignedという最警戒レベル(Restricted)よりも1段下を設定するかというと、そうでなければ色々とインストールがはかどらない可能性があるからです。私はPackageManagementと随時併用したかったのでこれに設定しています。

Chocolateyの使用方法

ソフトウェアのインストール

 まずはChocolateyのパッケージリストを見て、ソフトがあるかを確かめます。
 パッケージリストは以下。もしくはGUIをインストールしている場合はそのあたりを確かめられるみたいです。

 ソフトウェアのパッケージが存在している場合、個別ページにインストールコマンドが書いてあるので、その通りに実行します。

だいたいは、

choco install パッケージ名

という形なので、パッケージ名を個別ページで確認する感じです。

例えばVivaldiをインストールするなら、

choco install vivaldi

でインストールが可能です。
Vivaldiは単体でも自動アップデート機能があるので、私は元々入れておいたままにしていますが、そうでない場合は便利だと思います。

その他、Vim, Golangなども入れることができます。なおGolangについては、LiteIDEもパッケージが存在します。GitやMercurial(Hg)もインストールが可能です。開発環境を整えるのにも役立つかもですね。

私が現在入れているパッケージは以下。パッケージ名で書いています。

  • 7zip
  • Brackets
  • chocolatey
  • chocolatey-core.extension
  • cmdermini
  • Cygwin
  • filezilla
  • GIMP
  • golang
  • hugo
  • InkScape
  • python
  • python3
  • vcredist2010
  • vlc

Chocolatey自体も管理パッケージとして扱うみたいです。
vlcはvlcplayerです。vcredist2010は確か何かのパッケージの依存で入ったような。
なお、すでに入っているソフトと同じパッケージを入れようとすると、どうやら衝突しがちなようですので、Chocolatey管理に移行する場合は、できればアンインストールしてからのインストールをお勧めします。
なお私の場合、GitとMercurialについては迷い中。Mercurialのパッケージがどういうパッケージなのかがよくわからないので、ちょっと更新頻度など観察してからにします。できればTourtoiseHg入りのがいいのですが、そのあたりが謎で…。

私の置き換えの基準は、Chocolateyのパッケージリストにあるのはもちろん、

  • 自動アップデート機能があるかどうか

です。自動アップデート機能があるなら基本置き換えません。アップデート通知があるもののexeを再びインストールしなければならないものは、アンインストールしてChocolatey管理にしたりしています。

ソフトウェアパッケージのアップデート

choco upgrade パッケージ名

でアップデートが可能です。
すべてのパッケージをアップデートする場合は、
choco upgrade all


cup all

でできる模様。

ソフトウェアパッケージのアンインストール

choco uninstall パッケージ名

でできるはずですが、たまにダメな時があるので、その時はプログラムと機能とか、アプリと機能からアンインストールしています。

ここの不安定さはまあスクリプト的にいろいろあるみたいです。

ソフトウェアパッケージを探す

パッケージリストから探すのではなく、コマンドから探す場合、

choco list パッケージ名

で探せます。詳細情報はやっぱりパッケージリストのほうが見やすいですが、ざっと確認するだけの場合はこっちの様子?

Chocolateyを使用してインストールしたパッケージを表示

choco list -l

で、インストールされているパッケージが表示されます。

ソフトウェアパッケージに関する表示

 さて、ソフトウェアパッケージについて、インストールするときに留意しておくべきことがあります。
 このChocolatey、実はパッケージはユーザが自分で作るところもあり、中にはうまく動かなかったり、ファイルが壊れている場合もあります。
 そういうときはパッケージのリストを出した時などに、「approved」の印がついていないようですので、そこを一つ目安にするといいでしょう。
 「approved」は、認められた、承認された、という意味で、Chocolateyのモデレーター(審査をする人)の審査を通過するなどした、ある程度ちゃんとしているらしいパッケージにつけられる印みたいです。私は基本、とりあえずapprovedであるかどうかは最低限確認し、それから後述する基準に従って、インストールするかを決めます。

 また、パッケージに含まれるファイルに関してウイルススキャンした結果も書くパッケージのページからアクセスできます。

 これらの機能のセキュリティをより便利に扱うには有料プランを導入する必要があるようですが、無料でも十分だと思います。

 私としては、パッケージを導入するときは、
+ approvedである
+ trusted packageとパッケージのページに表示されている

 この二つと、Disqusによるパッケージに対するコメントの内容を基準にして判断しています。
 ただ、コメントは基本的にどうしても英語になりますので、コメントを読んだり、approvedやtrusted packageの意味をより詳しく把握したい場合は、英文を読むことになります。
 このあたりが関係して、日本ではあまりChocolateyの名前を聞かないのかも…?

Chocolatey公式ページ

 Chocolatey公式ページは以下になります。このトップページから、前述したインストールの案内ページ、パッケージリストのページへもアクセスが可能です。

個人的おすすめパッケージ

Cmder

 フルパッケージ(cmder)も、軽量パッケージ(cmdermini)もどちらもあります。
 Cmderについてはこちら

 普通にインストールしようとするとZIPなどを色々する必要があるのですが、これならばコマンド一発です。

Hugo

 Hugoはコンパイル速度が売りの、静的サイトジェネレータです。
 HugoはWindowsではzipをダウンロードして解凍して、といろいろ作業がいるのですが、Chocolateyを使えばコマンド一発で整備できるのでとてもおすすめです。
 どうやら環境変数も追加してくれるのか(追加しなければ表示されているインストールディレクトリを環境変数に追加すればよい)、かなり楽にセットアップできました。

Golang

 Golangはいわゆるプログラミング言語Goです。
 Golangのバージョン管理ツールは一応あるみたいですが、とりあえずGolangを最新の状態にしておきたいだけなら、Chocolateyでインストールしてしまうのがおすすめです。
 どうもGolangは、Windowsで普通にバージョンアップする場合は自動アプデができず、いちいち公式サイトからインストーラを落としてきて…の作業が必要なようですので。

Inkscape

 InkScapeを使うと、ベクターファイルを結構いい感じに生成することができます。
 このサイトもSVGでいろいろやろうと考えており、その作業に重宝しています。
 InkScapeも、上であげたパッケージと同じく、Windowsで扱う場合は色々と手間があるので、Chocolateyがおすすめです。

GIMP

 GIMPは多機能ペイントソフトです。
 色々クセがあるので使いこなすにはちょっと時間がかかると思われますが、無料ながらこれをインストールしておくだけで、いろいろな画像を作成したり、加工することができます。

 Windowsにも昔から対応しており、無料定番ソフトとして名高いのですが、如何せん自動アップデート機能がない。
 ですので、Chocolateyを利用してバージョンアップをしていくのがおすすめです。

その他パッケージなどについていろいろ

Brackets

 BracketsもChocolateyでインストールできるのですが、最新バージョンが即時反映とはいえないようです。

liteIDE

 golang専用のIDEであるLiteIDEもパッケージとして提供されています。
 個人的にUIがどうにも引っかかったため私はLiteIDEを使用していませんが、これもHugoと同じく、パッケージ管理ソフトでも使わなければzipをDLしてきて展開して、というものだったと思うので、使用する方はChocolateyを使って管理するといいのではないかと思っています。

意外と様々なソフトがある

 すべてのソフトがあるというわけではないのですが、それにしても意外と様々なソフトのパッケージが存在しています。
 自動更新がなくて手間取っているソフトなどありましたら、少しChocolateyのパッケージリストで検索してみてはいかがでしょうか。

オートアップデータ

 どうやら一部のChocolateyは、最新版のインストーラをオートアップデータでくるみ、Chocolateyのパッケージとして提供するという便利ツールを使用している模様です。

様々な言語の実行環境もChocolateyに存在

 Chocolateyのパッケージには、Elixirなど、最近のプログラミング言語のインストーラも存在しています。
 choco upgradeのことや、VSCodeなどもパッケージとして提供されていることも考えると、開発環境の構築はChocolateyの助けを借りると、一部楽になるものと思われます。
 Nodejsもパッケージあるし。しかもLTS版と最新版と二つにきちんと分けられている…。

コミュニティはどうやら英語ベース

 結構Englishのソフトを見かけます。日本語のドキュメントが少ないようなものも。
 当たり前ですが、日本以上にWindowsのユーザは海外に多いというのを実感しました。

たまにパッケージリストをRecentlyにして並び替えると楽しい

 たまにパッケージリストを更新順にして並び替えると、様々なソフトを見つけることができて楽しいです。

その他コメントなど

 色々と書きましたが、結局のところ、Chocolateyはコマンドラインからのパッケージ管理ツールとして便利です。

広告

関連コンテンツと広告

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA