Scoop on Windows

備忘録。

Cygwin 環境はないので Scoop を試してみる。Scoop は Mac で言うところの Homebrew みたいなもの。

scoop.sh

PowerShell 5 以上が必要。

> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.18362.145
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.18362.145
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

実行ポリシーを変更してインストールする。

> Set-ExecutionPolicy RemoteSigned -scope CurrentUser

> Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
Initializing...
Downloading scoop...
Extracting...
Creating shim...
Downloading main bucket...
Extracting...
Adding ~\scoop\shims to your path.
'lastupdate' has been set to '2019-09-27T12:47:42.7720596+09:00'
Scoop was installed successfully!
Type 'scoop help' for instructions.

試してみる

無念にもプロキシ環境の場合は事前に設定すること。

今回は JDK をインストールしてみる。Scoop の JDKJava bucket というものに含まれる。

> scoop search jdk
Results from other known buckets...
(add them using 'scoop bucket add <name>')

'java' bucket:
    bucket/adoptopenjdk-hotspot-jre
    bucket/adoptopenjdk-hotspot
    bucket/adoptopenjdk-lts-hotspot-jre
    bucket/adoptopenjdk-lts-hotspot
    bucket/adoptopenjdk-lts-openj9-jre
    bucket/adoptopenjdk-lts-openj9
    bucket/adoptopenjdk-openj9-jre
    bucket/adoptopenjdk-openj9
    bucket/adoptopenjdk-upstream
    bucket/ojdkbuild-full
    bucket/ojdkbuild
    bucket/ojdkbuild10-full
    bucket/ojdkbuild10
    bucket/ojdkbuild11-full
    bucket/ojdkbuild11
    bucket/ojdkbuild12-full
    bucket/ojdkbuild12
    bucket/ojdkbuild8-full
    bucket/ojdkbuild8
    bucket/ojdkbuild9-full
    bucket/ojdkbuild9
    bucket/openjdk
    bucket/openjdk10
    bucket/openjdk11
    bucket/openjdk12
    bucket/openjdk13
    bucket/openjdk14
    bucket/openjdk7-unofficial
    bucket/openjdk9
    bucket/oraclejdk
    bucket/oraclejdk12

Java bucket を追加する。

> scoop bucket add java
Checking repo... ok
The java bucket was added successfully.

> scoop search jdk
'java' bucket:
    adoptopenjdk-hotspot-jre (12.0.2-10)
    adoptopenjdk-hotspot (12.0.2-10)
    adoptopenjdk-lts-hotspot-jre (11.0.4-11)
    adoptopenjdk-lts-hotspot (11.0.4-11)
    adoptopenjdk-lts-openj9-jre (11.0.4-11-0.15.1)
    adoptopenjdk-lts-openj9 (11.0.4-11-0.15.1)
    adoptopenjdk-openj9-jre (12.0.2-10-0.15.1)
    adoptopenjdk-openj9 (12.0.2-10-0.15.1)
    adoptopenjdk-upstream (11.0.3-7)
    ojdkbuild-full (12.0.1.12-1)
    ojdkbuild (12.0.1.12-1)
    ojdkbuild10-full (10.0.2-1.b13)
    ojdkbuild10 (10.0.2-1.b13)
    ojdkbuild11-full (11.0.3.7-1)
    ojdkbuild11 (11.0.3.7-1)
    ojdkbuild12-full (12.0.1.12-1)
    ojdkbuild12 (12.0.1.12-1)
    ojdkbuild8-full (1.8.0.212-1.b04)
    ojdkbuild8 (1.8.0.212-1.b04)
    ojdkbuild9-full (9.0.4-1.b11)
    ojdkbuild9 (9.0.4-1.b11)
    openjdk (12.0.2-10)
    openjdk10 (10.0.2-13)
    openjdk11 (11.0.2-9)
    openjdk12 (12.0.2-10)
    openjdk13 (13-33)
    openjdk14 (14-16-ea)
    openjdk7-unofficial (7u80-b32)
    openjdk9 (9.0.4-12)
    oraclejdk (12.0.2-10)
    oraclejdk12 (12.0.2-10)

OpenJDK をインストールする。現時点では OpenJDK 12 がインストールされて、ユーザー環境変数JAVA_HOME=~\scoop\apps\openjdk\current が設定される。

> scoop install openjdk
Installing 'openjdk' (12.0.2-10) [64bit]
openjdk-12.0.2_windows-x64_bin.zip (187.4 MB) [===============================================================] 100%
Checking hash of openjdk-12.0.2_windows-x64_bin.zip ... ok.
Extracting openjdk-12.0.2_windows-x64_bin.zip ... done.
Linking ~\scoop\apps\openjdk\current => ~\scoop\apps\openjdk\12.0.2-10
'openjdk' (12.0.2-10) was installed successfully!

> java -version
openjdk version "12.0.2" 2019-07-16
OpenJDK Runtime Environment (build 12.0.2+10)
OpenJDK 64-Bit Server VM (build 12.0.2+10, mixed mode, sharing)

OpenJDK 13 をインストールしてみる。

> scoop install openjdk13
Installing 'openjdk13' (13-33) [64bit]
openjdk-13_windows-x64_bin.zip (186.8 MB) [===================================================================] 100%
Checking hash of openjdk-13_windows-x64_bin.zip ... ok.
Extracting openjdk-13_windows-x64_bin.zip ... done.
Linking ~\scoop\apps\openjdk13\current => ~\scoop\apps\openjdk13\13-33
'openjdk13' (13-33) was installed successfully!

> java -version
openjdk version "13" 2019-09-17
OpenJDK Runtime Environment (build 13+33)
OpenJDK 64-Bit Server VM (build 13+33, mixed mode, sharing)

バージョンを切り替える。

> scoop reset openjdk@12.0.2-10 # @ でバージョンを指定する場合
Resetting openjdk (12.0.2-10).
Linking ~\scoop\apps\openjdk\current => ~\scoop\apps\openjdk\12.0.2-10

> scoop reset openjdk13 # 名前で指定する場合
Resetting openjdk13 (13-33).
Linking ~\scoop\apps\openjdk13\current => ~\scoop\apps\openjdk13\13-33

その他

仕組み的に PATH が汚れないしバージョンの切り替えが簡単でいいかもしれない。ローカルの開発環境を構築するのに便利そう。というかその目的で作られたツールっぽい。

参考)