LoginSignup
18
14

More than 3 years have passed since last update.

macOS に jenvをインストール、設定する

Last updated at Posted at 2020-01-25

2020/01/25時点で他のQiita記事が古くてちゃんと動作しない&公式ドキュメントと違うので記述

前提

環境

macOS Mojave 10.14.6で確認

~/.jenv を作成する

mkdir ~/.jenv

jenvのインストール

1. homebrewを利用する場合

brew install jenv

2. git からcloneする場合

git clone https://github.com/jenv/jenv.git ~/.jenv

2-1. bash

echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(jenv init -)"' >> ~/.bash_profile

2-2. zsh

echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc

シェルの再起動

やり方

  • ターミナルを再起動する or
  • exec $SHELL -l

jenvの動作確認

jenv doctor

ちゃんと動く場合、以下のアウトプットが出る

[OK]    No JAVA_HOME set
[ERROR] Java binary in path is not in the jenv shims.
[ERROR] Please check your path, or try using /path/to/java/home is not a valid path to java installation.
    PATH : /Users/user/.jenv/libexec:/Users/user/.jenv/shims:/Users/user/.jenv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
[OK]    Jenv is correctly loaded

JAVA_HOMEの設定確認

echo ${JAVA_HOME}
jenv enable-plugin export
exec $SHELL -l

Java環境のインストール

Java環境をbrew caskでインストールする場合

brew cask install java

Java8の場合

brew cask install java8

Java環境を追加

jenv addを使う

jenv add $(/usr/libexec/java_home)

もちろん、以下のように直接ディレクトリを指定しても良い

jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_241.jdk/Contents/Home

Java環境のバージョン一覧を見る


$ jenv versions
* system (set by /Users/user/.jenv/version)
  11.0
  11.0.2
  openjdk64-11.0.2

デフォルトでは、system JavaがJavaの最新バージョンになる。

Java環境の選択

$ jenv local 11.0.2
$ exec $SHELL -l
$ cat .java-version
11.0.2

設定されたかの確認

echo ${JAVA_HOME}
/Users/hogehoge/.jenv/versions/11.0.2

これで設定OK。

いらないので .java-versionを削除する

rm .java-version

グローバルJavaバージョンの設定

グローバルに設定したい時のみ必要

jenv global 11.0.2

シェルJavaバージョンの設定

jenv shell 11.0.2

共通ワークフロー

macOSで2つのJVMを使う

Java11.0.2がインストールされているところに、Java 8をインストールする

brew cask install adoptopenjdk8
brew cask install caskroom/versions/adoptopenjdk8

上記によって、Java 8の最新バージョンをmacOSの特別なディレクトリにインストールする

$ ls -1 /Library/Java/JavaVirtualMachines 
adoptopenjdk-8.jdk
openjdk-11.0.2.jdk

adoptopenjdk-8.jdkディレクトリというのが見える。(ユーザによってこのディレクトリは変わる)
/usr/libexec/java_home からは取得できないので、 jenv addで追加する

$ jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/
openjdk64-1.8.0.222 added
1.8.0.222 added
1.8 added
$ jenv versions
* system
  1.8
  1.8.0.222
  openjdk64-1.8.0.222
  11.0
  11.0.2
  openjdk64-11.0.2
  oracle64-1.8.0.202-ea

参考

以下を参考に、冗長なところを削除、足りないところを追加しました。

GitHub - jenv/jenv: Manage your Java environment
https://github.com/jenv/jenv

以上。

18
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
14