最近何を思ったか、Mavericksを消してYosemiteのみに環境を寄せてしまった。しかしJDKをインストールしようとしてもインストール出来なかった。
ここではその解決方法書いていこうと思う。
普通にするとこうなる
必要なもの
- JDKのインストーラ。今回はJDK7 Update67を用意
- エディタ。今回はATOMを用意
やり方
- ダウンロードしてきたDMGをマウントする
- Terminalで下記を実行する
pkgutil --expand "/Volumes/JDK 7 Update 67/JDK 7 Update 67.pkg" "/tmp/JDK 7 Update 67.unpkg
これをすることにより/tmp/JDK 7 Update 67.unpkg/
にpkgファイルが展開されたものがコピーされる。
ここで驚いたのは、どうやら10.10 YosemiteではTerminal上でスペースを入力した際、エスケープ(バックスラッシュ)が必要ないということだ。
- エディタで
/tmp/JDK 7 Update 67.unpkg/Distribution
を開く - 6行目にある
<installation-check script="pm_install_check()"/>
のpm_install_check()
をtrue
に書き換える。 - Terminalで下記を実行する
pkgutil --flatten "/tmp/JDK 7 Update 67.unpkg" "/tmp/JDK 7 Update 67.pkg"
これで、バージョンチェックに常にtrueが返る/tmp/JDK 7 Update 67.pkg
が作成できたはずだ。
-
/tmp/JDK 7 Update 67.pkg
を実行する - Terminalで
java -version
を確認する。下記のように出てきたらOKだろう
kuma:~ kuma$ java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
最後に
この方法はJDKをインストールするときだけでなく、バージョンチェックに引っかかってしまう大半のpkgに対して有効なはずだ。しかし、中には理由があってバージョンチェックを行っているものもあるので自己責任で行いたい。