Software

Windows用パッケージ管理ツール「Scoop」のススメ

Software
スポンサーリンク

どんな記事?

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の環境構築がかなり楽になりますね!

タイトルとURLをコピーしました