- Scoop とは
- インストール
- Scoop の更新
- Scoop のアンインストール
- アプリケーションのインストール
- インストール済みアプリケーションの確認
- アプリケーションのバージョン切り替え
- マルチコネクションによるダウンロードの高速化
- バケット
Scoop とは
Windows 版の Homebrew と言えば、Chocolatey がメジャーですが、なんというか、よりデベロッパフレンドリーな Scoop がオススメです。
Chocolatey と比較すると以下が特徴です。
- コマンドライン主体
- アプリケーションはデフォルトでホームディレクトリにインストールされる
- パスを汚染しない
- アプリケーションを独立して自己完結的にインストールする
- 独自のアプリやアプリのコレクションを簡単に作成できる
本家によると Scoop は、パッケージマネージャではなく、Windows 用のコマンドラインインストーラー だそうな。
インストール
PowerShellで以下を実行します。
> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser > irm get.scoop.sh | iex
以下のようにしてインストールが完了します。
> irm get.scoop.sh | iex Initializing... Downloading... Extracting... Creating shim... Adding ~\scoop\shims to your path. Scoop was installed successfully! Type 'scoop help' for instructions.
インストールにてユーザの環境変数に C:\Users\xxxx\scoop\shims
が追加されます。
ヘルプは以下のように出力されます。
> scoop help Usage: scoop <command> [<args>] Available commands are listed below. Type 'scoop help <command>' to get more help for a specific command. Command Summary ------- ------- alias Manage scoop aliases bucket Manage Scoop buckets cache Show or clear the download cache cat Show content of specified manifest. checkup Check for potential problems cleanup Cleanup apps by removing old versions config Get or set configuration values create Create a custom app manifest depends List dependencies for an app, in the order they'll be installed download Download apps in the cache folder and verify hashes export Exports installed apps, buckets (and optionally configs) in JSON format help Show help for a command hold Hold an app to disable updates home Opens the app homepage import Imports apps, buckets and configs from a Scoopfile in JSON format info Display information about an app install Install apps list List installed apps prefix Returns the path to the specified app reset Reset an app to resolve conflicts search Search available apps shim Manipulate Scoop shims status Show status and check for new app versions unhold Unhold an app to enable updates uninstall Uninstall an app update Update apps, or Scoop itself virustotal Look for app's hash or url on virustotal.com which Locate a shim/executable (similar to 'which' on Linux)
特定のコマンドのヘルプを見るには以下のようにします。
> scoop help <command>
Scoop の更新
Scoop の最新バージョンを取得するには、以下を実行します
> scoop update
scoop の最新バージョンがダウンロードされ、ローカル アプリ マニフェストが更新されます。
インストール済みのアプリケーションは以下で更新できます。
> scoop update *
Scoop のアンインストール
> scoop uninstall scoop
これにより ~/scoop/persist
フォルダーが削除されます。
以下のように強制削除することもできます。
> del .\scoop -Force
アプリケーションのインストール
git を例にすると、以下のように操作できます。
- 検索
> scoop search git
- インストール
> scoop install git
特定のバージョンをインストールするには以下のようにバージョンを指定します。
> scoop install git@2.23.0.windows.1
- アップデート
> scoop update git
古いバージョンのクリーンアップ
> scoop cleanup
- アンインストール
> scoop uninstall git
インストール済みアプリケーションの確認
インストール済みアプリケーションは scoop list
で一覧できます。
> scoop list Installed apps: Name Version Source Updated Info ---- ------- ------ ------- ---- 7zip 22.01 main 2023-02-14 16:57:32 curl 7.87.0_8 main 2023-02-14 16:57:39 ...
scoop list
では、インストールされている最新バージョンが表示されます。
各バージョンを確認するには scoop info <app>
を利用します。
例えば以下のように表示されます。
> scoop info curl Name : curl Description : Command line tool and library for transferring data with URLs Version : 7.87.0_8 Bucket : main Website : https://curl.haxx.se License : MIT Updated at : 2023/02/13 21:42:44 Updated by : User Installed : 7.87.0_8 Binaries : bin\curl.exe
アプリケーションのアップデート状況は以下で確認できます。
> scoop status
アプリケーションのバージョン切り替え
scoop ではバージョンを指定することで複数バージョンのアプリケーションを共存できます。
> scoop install terraform@0.11.14 > scoop install terraform@0.12.11
バージョンを切り替えるには scoop reset <app>@<version>
を使います。
アクティブ インストールをバージョン 0.11.14 に設定
> scoop reset terraform@0.11.14
アクティブ インストールをバージョン 0.12.11 に設定
> scoop reset terraform@0.12.11
最新のインストール済みバージョンにリセット
> scoop reset terraform
マルチコネクションによるダウンロードの高速化
aria2 をインストールすれば、その後のダウンロードでマルチコネクションが有効になります。
> scoop install aria2
バケット
バケットは、アプリのインストール方法を説明する JSON app manifests を含む Git リポジトリです。
Scoop は メインバケット として以下のリポジトリを利用します
https://github.com/ScoopInstaller/Main
上記リポジトリの bucket/ に JSON で定義された app manifests があり、このファイルでアプリケーションのインストール方法が定義されています。
メインバケットに存在しないアプリケーションをインストールする場合は、メインバケット以外の既知のバケットからインストールできます(未知の独自バケットを指定してインストールすることもできます)。
以下で既知のバケットのリストを確認できます。
> scoop bucket known main extras versions nirsoft sysinternals php nerd-fonts nonportable java games
メインバケット 以外からアプリケーションをインストールするには、たとえば、オプションの extras
バケットを以下のように追加します。
> scoop bucket add extras Checking repo... OK The extras bucket was added successfully.
バケットのリストは以下で確認できます。
> scoop bucket list Name Source Updated Manifests ---- ------ ------- --------- extras https://github.com/ScoopInstaller/Extras .... 1777 main ~\scoop\buckets\main .... 1162