Scoop は、非公式にメンテナンスされている Windows 上のパッケージマネージャであり、Homebrew に似ています。
Scoop を選ぶ理由#
- 管理者権限が不要(ほとんどのプログラムに対して)
- Linux のパッケージマネージャに近く、winget のような「インストールプログラムマネージャ」ではない:Scoop はダウンロードとインストールを管理し、winget はダウンロードしたインストールパッケージを実行してインストールするだけです。
- chocolatey ほど多くはありませんが、十分なソフトウェアライブラリがあります
- 登録表と $PATH を汚染しません。ファイルは
~/scoop
の下に配置されます。 - Scoop の skim を PATH に追加すると、新しいソフトウェアをインストールする際に PATH を再起動する必要はありません。
- chocolatey と winget の詳細な比較については、公式ウィキの説明を参照してください。
インストール#
- Scoop の本体とインストールされたソフトウェアはデフォルトで
%USERPROFILE%\scoop
に配置されます。グローバルインストール(-g オプション)はC:\ProgramData\scoop
に配置されます。場所を変更したい場合は、インストール前に環境変数を設定する必要があります。既にインストールされている場合は、アンインストールして再インストールすることもできます(データを保持する方法が見つかるかもしれません。例:この issue)。 - インストール位置を変更したくない場合は、次のコマンドを実行します。
> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # オプション:リモートスクリプトを初めて実行するために必要です
> irm get.scoop.sh | iex
- ユーザーのインストールパスを設定する場合
$env:SCOOP='D:\Softwares\scoop'
[Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
- グローバルインストールパスを設定する場合(変更はお勧めしません)
$env:SCOOP_GLOBAL='D:\Scoop_Global'
[Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine')
- その後、上記の 2 つの PowerShell コマンドを実行します。
基本操作#
scoop install exampleApp # インストール
scoop uninstall exampleApp # アンインストール
scoop search exampleApp # 検索
scoop update exampleApp # アップデート
scoop update # ソフトウェアリポジトリを更新します。"apt update" に似ています。
scoop update * # すべてのアプリを更新します。
# Scoop のソフトウェアはバケットに存在します。バケットを先にインストールする必要があります。
scoop bucket --help # Scoop のヘルプページは非常にシンプルでわかりやすく作られています。バケットの使用方法はすぐにわかります。
-
便利な使用手順:
- https://scoop.sh/ を開き、インストールしたいソフトウェアを検索します(組み込みの検索よりも便利で、公式に承認されたバケット内のすべてのソフトウェアを検索できます)。
- コマンドをコピーして実行します。
-
ヒント
- nonportable バケット内のソフトウェアのインストールはお勧めしません。ポータブルではないため、完全にアンインストールできない可能性があります。通常の方法でインストールすることをお勧めします。
- dorado バケットのインストールをお勧めします。中国のユーザーに適しています。詳細はこちらを参照してください。
バージョン切り替え#
- Scoop の大きな特徴の 1 つは、ソフトウェアのバージョンを簡単に切り替えることができることです。例えば、python です。
- https://www.thisfaner.com/p/install-and-switch-versions-of-java-python-ruby-via-scoop/ を参照してください。
- 簡単に言うと、過去のバージョンがあるバケット(通常は versions)を先にインストールし、古いバージョンをインストールし、
scoop reset
を使用して切り替えます。