Scoopは、Windows用のコマンドラインインストーラー。
gitをインストールするとしたら scoop install git
のようにコマンド入力するだけで完了できるので環境構築がかなり楽。Chocolateyが有名だがScoopはレジストリを汚さないポータブルアプリを優先してインストールする。
前準備
1. ユーザーアカウントに対してPowerShellを有効にする
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
2. インストールコマンドを取得して実行
デフォルトでは C:\Users\<user>\scoop
にインストールされる。
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
短く書く場合はこんな書き方もあるらしい
iwr -useb get.scoop.sh | iex
インストール先を変更したい場合は事前に変数を設定してから実行する。
$env:SCOOP='D:\Applications\Scoop' [Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
Gitをインストールしてみる
これだけ。7zの解凍に必要な7zipも自動的にインストールされる。
scoop install git
7zipはmsi。Gitはポータブル版があるのでPortableGitがインストールされました。
Scoopでインストールされたアプリは scoop list
コマンドで確認できる。
利用可能なアプリを検索する
アプリを検索するには scoop search <name>
コマンドを利用する。
jetbrainsのアプリは全対応とあったのでPyCharmを検索。
このままインストールを実行しようとしてもエラーとなる。
scoop install pycharm Couldn't find manifest for 'pycharm'.
別のバケット jetbrains
上にあるようなのでまずはバケットを追加。
scoop bucket add jetbrains Checking repo... ok The jetbrains bucket was added successfully.
これでインストール可能になったので実行。
scoop install PyCharm Installing 'PyCharm' (2020.2.1-202.6948.78) [64bit] pycharm-community-2020.2.1.exe (292.4 MB) [===================================================================] 100% Checking hash of pycharm-community-2020.2.1.exe ... ok. Extracting cosi.7z ... done. Running pre-install script... Linking ~\scoop\apps\PyCharm\current => ~\scoop\apps\PyCharm\2020.2.1-202.6948.78 Creating shim for 'pycharm64'. Creating shim for 'pycharm'. Creating shortcut for JetBrains\PyCharm Community (pycharm64.exe) Persisting IDE\bin\idea.properties 'PyCharm' (2020.2.1-202.6948.78) was installed successfully!
Pythonもインストールしてみた
scoop install python
を実行したところバージョンは最新の3.8.5がインストールされた。
旧バージョンをインストールしたい場合はVersionsバケットを追加
scoop bucket add versions
で追加する。
このバケットではアプリごとに複数バージョンが個別でインストール可能になっている。
例えばPython3.7をインストールしたい場合は scoop install python37
とすることで3.7.9がインストールされる。マイナーバージョンの指定はできないのでそこまで細かく管理したい場合はpyenvなどを使うことになりそう。