前回の続き。
Scoop に存在しないアプリケーションをインストールする場合は自分で Manifest を書いてインストールする。
普通にインストーラーを使ってインストールしてもいいけど、Scoop でインストールすると、管理が一元化できるし、バージョン切り替えが簡単にできるようになる。
例えば、プライベートでは最新の JDK を使っているけど、業務では 無念にも 古いバージョンの JDK を使っているとか。ということで、以降は jdk-7u45-windows-x64.exe
でインストールした Java を Scoop に移行する手順。なぜこのバージョンを使っているのかはお察しいただきたい。
手順
Git リポジトリ作成する。このリポジトリが bucket になる。
> mkdir sample-bucket > cd sample-bucket > git init
Manifest を作成する。Manifest のファイル名が scoop の中で使われるアプリケーションの名前になる。今回は legacy-jdk.json
という名前で作成する。
{ "version": "1.7.0_45", "architecture": { "64bit": { "url": "http://{web-server}/path/to/jdk1.7.0_45.zip", // zip ファイル "hash": "5c4c76711d19be11089a342181fb457f8799a19a7918745c53de87401a521748" // SHA256 } }, "env_add_path": "bin", // bin をユーザー環境変数に設定する "env_set": { "JAVA_HOME": "$dir" // JAVA_HOME をユーザー環境変数に設定する } }
環境変数はデフォルトでユーザー環境変数に設定される。システム環境変数に設定する場合は --global
を付ける。(未検証)
ちなみに、今回は C:\Program Files\Java\jdk1.7.0_45
下のファイル群 (展開したときにファイルが配置されるように) を zip 圧縮して Scoop でダウンロードできるところに配置しているが、もっといい方法はないだろうか...。
> git add . > git commit -m "add legacy-jdk"
Scoop で bucket を追加してインストールする。無念にもプロキシ環境の場合は事前に設定すること。
> scoop bucket add sample-bucket . Checking repo... ok The sample-bucket bucket was added successfully. > scoop update Updating Scoop... Updating 'main' bucket... Updating 'sample-bucket' bucket... * 73e7c0e add legacy-jdk 4 minutes ago Scoop was updated successfully! > scoop install legacy-jdk Installing 'legacy-jdk' (1.7.0_45) [64bit] jdk1.7.0_45.zip (131.7 MB) [======================================================================================] 100% Checking hash of jdk1.7.0_45.zip ... ok. Extracting jdk1.7.0_45.zip ... done. Linking ~\scoop\apps\legacy-jdk\current => ~\scoop\apps\legacy-jdk\1.7.0_45 'legacy-jdk' (1.7.0_45) was installed successfully!