どんな記事?
Windowsで使えるCLIのパッケージ管理ツール「Scoop」の使い方を紹介する記事です。コマンドひとつでアプリのインストールや管理が可能なので、新PCの環境構築やアップデートも楽ちんです。
Scoopとは?
CLIでアプリケーションのインストールやバージョン管理などができるツールです。macOSでいうHomebrew, Linuxならyumやaptみたいなものだと思えば理解が早いですね。
Windows用ではChocolateyやMicrosoft純正のwingetなどもありますが、Chocolateyは管理者権限を要求するのに対し、Scoopでは通常のユーザー権限で実行できるメリットがあります。Chocolateyは登録されているアプリケーションの種類がScoopよりかなり多いので、どちらを使うかは好みにもよりますね。wingetについてはまだまだ発展途上で実利用には向いていないかなという印象です。
Scoopのインストール
環境変数の設定
Scoop本体およびアプリケーションをインストールするディレクトリを設定することができます。僕はこんな感じで設定しました。
[environment]::setEnvironmentVariable('SCOOP','E:\Scoop','User')
$env:SCOOP='E:\Scoop'
PowerShellの設定とインストール
まずはPowerShellの実行ポリシーを変更します。
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
準備ができたら以下コマンドでScoopをインストールしましょう。
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
ESETで弾かれることがある
セキュリティソフトでScoopインストールのコマンドが阻まれることがあります。一時的に無効にしましょう。インストールできたら有効にして大丈夫です。
まずはGitのインストールから
まずはGitをインストールしましょう。
Scoop内部でGitを使用しているため、インストールが必要です。
scoop install git
Bucketの追加
導入時してすぐにインストールが可能なのは基本的なアプリケーションのみです。初期設定ではコンパイラや実行環境、ComposerやMavenなどのパッケージ管理ツール、curlやgitなどをコマンドひとつで導入できます。開発環境のコアになるものが多いですね。
ScoopはBucketというリポジトリのようなものを追加することで導入できるアプリケーションを拡張することができます。まずはextras Bucketを追加しましょう。
scoop bucket add extras
extras BucketにはChromeやFirefoxなどのブラウザ、Visual Studio CodeなどのIDE, Discord, WinSCP, GitKraken, irfanview, steamなどなど紹介しきれないほどのアプリケーションが登録されています。
僕は上記extras以外にjava
, php
, versions
のBucketを追加しています。
scoop bucket list
コマンドで追加されているBucketの一覧を確認することができます。
各Bucketの詳細についてはこちらをご覧ください。
またscoop bucket known
で登録できるBucketを一覧表示できます。
アプリケーションのインストール
extras Bucketを追加したら試しにChromeをインストールしてみましょう。以下のコマンドで一発でインストールできます。
scoop install googlechrome
こんな感じでまとめてインストールすることもできます。
scoop install googlechrome vscode firefox
アップデート
scoop本体のアップデートは
scoop update
で行え、導入したアプリケーションのアップデートは
scoop update *
で行うことができます。
# 個別にアップデート
scoop update googlechrome
# まとめて指定することもできる
scoop update vscode git adb irfanview
とすることも可能です。
エイリアスの設定
まとめてアップデートするにはscoop update; scoop update *
としてもいいですし、aliasを登録することができますので、
scoop alias add u "scoop update; scoop update *"
こんな感じで登録しておけばscoop u
でまとめてアップデートすることができます。
Scoopディレクトリの構成
└─scoop ├─apps ├─buckets ├─cache ├─persist └─shims
- apps
各アプリケーションが格納されます。アップデートしても過去のバージョンは残り、最新バージョンに向けたcurrent
というジャンクションが作成されます。 - buckets
Bucketの情報が格納されます。 - cache
アプリケーション導入時にDLしたアーカイブや実行ファイルが置かれています。 - persist
このディレクトリ以下に各アプリの設定ファイルを置くことができます。ポータブルアプリの設定ファイルですね。 - shims
各アプリケーションの実行ファイルのシンボリックリンクがおかれています。このディレクトリが環境PATHに登録されています。
メンテナンス
キャッシュの削除
インストール時に使用した実行ファイルや書庫を削除するコマンドです。
# Chromeのキャッシュを削除
scoop cache rm googlechrome
# すべてのキャッシュを削除
scoop cache rm *
古いバージョンの削除
# Chromeの未使用バージョンを削除
scoop cleanup googlechrome
# すべてのアプリの未使用バージョンを削除
scoop cleanup *
アプリケーションのアンインストール
scoop uninstall googlechrome
僕がScoopで導入してるアプリケーション
バージョンは記事執筆時点でのものです。
- 7zip 19.00 [main]
- adb 31.0.0 [main]
- aria2 1.35.0-1 [main]
- atom 1.55.0 [extras]
- bulk-crap-uninstaller 4.16 [extras]
- crystaldiskinfo 8.12.0 [extras]
- crystaldiskmark 8.0.1 [extras]
- discord app-1.0.9001 failed
- etcher 1.5.117 [extras]
- git 2.31.1.windows.1 [main]
- gitkraken 7.5.4 [extras]
- gpu-z 2.38.0 [extras]
- hwinfo 7.02-4430 [extras]
- hwmonitor 1.43 [extras]
- iperf3 3.1.3 [main]
- irfanview 4.57 [extras]
- keepassxc 2.6.4 [extras]
- nodejs 15.14.0 [main]
- nvm 1.1.7 [main]
- openjdk 16-36
- openjdk9 9.0.4-12
- postman 8.2.1 [extras]
- putty 0.74 [extras]
- speccy 1.32.744 [extras]
- steam nightly-20201128 [extras]
- t-clock 2.4.4 [extras]
- terminus 1.0.136 [extras]
- vscode 1.55.1 [extras]
- winscp 5.17.10 [extras]
まとめ
Scoopを使ってアプリケーションを導入するための手順を紹介しました。使用頻度の高いアプリケーションをコマンドひとつで導入できるメリットは大きいですよね。
またコマンドで実行できるということはバッチを書けば自動化できるということです。なので新しいPCの環境構築がかなり楽になりますね!
コメント