Windowsでのパッケージ管理(scoop)(2021年睦月)


初めに

こんにちは、本書をご覧になっていただき、読者のみなさまに感謝します。

対象の読者

以下のような方々のお役にたてれば幸いです。

  • ソフトウェア開発、特に製造や評価などに関わる人
  • Windows用のアプリやツールを宣言的に管理したい人
  • Windows用のアプリやツールを複数バージョン入れて使い分けたい人

 パッケージ管理って何という人への説明

Wikipediaによると、「各種のソフトウェアの導入と削除、そしてソフトウェア同士やライブラリとの依存関係を管理するシステム」となっている。

つまり、様々なアプリケーションを使用するときに、関連するライブラリや設定を含めて自動的にインストールし、アップデートしたり、安全に削除したりできる仕組みのこと。管理システムごとにリポジトリが提供されており、バージョン、依存関係、各種設定などが定義されている。
複数のバージョンを切り替えて使えたり、複数アプリをグループ化しておいてまとめてインストールしたりなどの機能を持っていることが多い。

環境の文書化や共有に活躍

GUIでの管理システムだと、説明するのに画像が必要となることが多く、例えば開発環境をチームで統一したい場合など、コマンドラインですべて設定できる方がやりやすいし、文書化したり、スクリプト化して共有するのもやりやすい。Windowsにパッケージ管理システムを入れたい理由は、コマンドライン(CLI)での操作ができることも大きな要素だ。

また、インストールされるアプリに対しても、コマンドラインでのパスが自動的に設定され、WindowsMenuからマウスで選択して、、、としないで、コマンドで起動したり、スクリプト化してバッチ処理したり、、、と使いやすくなる。

パッケージ管理システムの例

Linux/BSD/Mac/WindowsなどのOS上

  • Redhat系: RPM, Yum, DNF など
  • Debian系: dpkg, APT, aptitude, synaptic など
  • BSD系: ports など
  • MacOS: MacPorts, Fink, Homebrew など
  • Windows: Chocolatey, Scoop, Windows Package Manager(winget) など

種々の言語上

  • Node.js: npm, yarn など
  • PHP: composer など
  • Python: pip など
  • Java: maven など

Scoopに関して

2020年にMicrosoft社のオープンソースとして「Windows Package Manager1(winget2)」が登場した。将来的にはこれが本命とは思うが、現在(2021年01月)はPreivewであるため、使いやすいScoopを説明する。

ScoopはWindowsのパッケージ管理システムであり、そのライセンスは「The Unlicense」で、個人利用、商用利用、修整、再配布などが自由にできるPublicDomainとなっている。

Scoopの利点の一つは、管理者権限なしで使うことができ、ユーザごとのインストールや設定が可能であること。デメリットとしては対応パッケージ数で他の管理システム(Chocoleteyなど)に劣ること。

インストール

scoop自体のインストール

1) powershell を起動

Windowsキーを押し、「power」などと入力すると、以下のように見つかるはず。

2) PowerShellにて、以下のように入力

set-executionpolicy remotesigned -scope currentuser
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

使ってみよう

ヘルプの表示

scoop help

  • 使えるパッケージを見つける

xxxxに使いたいパッケージの文字列の一部を入れることで、存在すれば表示される。無指定でsearchすると、main Bucket にあるすべてのパッケージが表示される。

scoop search xxxx

例として、dd をインストールし、アンインストールしてみよう

scoop install dd
scoop list
get-command dd
scoop uninstall dd




どんなBucketがあるのかを調べる

Bucketとは、Scoopのリポジトリのこと。

  • 公式Bucket一覧
scoop bucket known

  • その他のバケット

awesome-scoop3 や GitHub4 に公開されている。

役立つBucket(Scoopのリポジトリ)を追加する

  • 最初に git のインストールが必要
scoop install git
  • 拡張パッケージ
scoop bucket add extras
  • 複数バージョン選択
scoop bucket add versions
  • 日本語環境

** iyokan-jp: サクラエディタなど

scoop bucket add iyokan-jp https://github.com/tetradice/scoop-iyokan-jp

** jfut: firefox, thunderbird など

scoop bucket add jfut https://github.com/jfut/scoop-jfut.git
  • 追加されているBucketの表示
scoop bucket list

終りに

次はUTF-8に対応し、マルチプラットフォームで動作するPowerShellCoreの話。

親記事:WSL2とVSCで作るWindowsでのDocker内開発環境(2021年睦月)