Closed6
ArchLinux + fish shell にjenvを導入する
まずはインストールする。
yay -S jenv
READMEを読み進めると、なんかjenv doctor
をしろと書いてあるのでする。
$ 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 : 私のPATHたち(省略)
[ERROR] Jenv is not loaded in your fish
[ERROR] To fix : echo eval "$(jenv init -)" >> your profile
なんかエラーって出て怖いけど、とりあえずjenvが正常にインストールされていることが分かったのでこれで良いらしい。
続いてjenv enable-plugin export
を実行する。私の環境だと、ディレクトリが存在しないよって怒られたので、手動でディレクトリを作った。
$ jenv enable-plugin export
ln: failed to create symbolic link '~/.jenv/plugins/export': No such file or directory
$ cd ~/.jenv
$ mkdir plugins
$ cd plugins
$ mkdir export
$ jenv enable-plugin export
export plugin activated
$ exec $SHELL -l
続いてパスを通したり、 fish shell 用の設定を行う。
$ fish_add_path $HOME/.jenv/bin
$ echo 'status --is-interactive; and jenv init - | source' >> ~/.config/fish/config.fish
$ curl "https://raw.githubusercontent.com/jenv/jenv/master/fish/jenv.fish" > ~/.config/fish/functions/jenv.fish
$ curl "https://raw.githubusercontent.com/jenv/jenv/master/completions/jenv.fish" > ~/.config/fish/completions/jenv.fish
続いて Java をインストールする。
yay -S jdk17-openjdk
Java がインストールされてることを確認する
$ archlinux-java status
Available Java environments:
java-17-openjdk
java-19-openjdk (default)
$ ls /usr/lib/jvm
default@ default-runtime@ java-17-openjdk/ java-19-openjdk/
jenv に登録する
$ jenv add /usr/lib/jvm/java-17-openjdk
$ jenv add /usr/lib/jvm/java-19-openjdk
正常に jenv の初期設定が出来たか最後に確認する
$ jenv doctor
[OK] No JAVA_HOME set
[OK] Java binaries in path are jenv shims
[OK] Jenv is correctly loaded
かんべき。
jenv global
: globalなjavaのバージョンを設定する
$ jenv global 17
$ java -version
openjdk version "17.0.6" 2023-01-17
OpenJDK Runtime Environment (build 17.0.6+10)
OpenJDK 64-Bit Server VM (build 17.0.6+10, mixed mode)
jenv local
: 現在のディレクトリのjavaのバージョンを設定する
- 実行すると、
.java-version
が作られる。 - このディレクトリからシェルが開始されたときに、jenvはversionを正常に設定する。
$ jenv local 11.0.2
$ exec $SHELL -l
$ cat .java-version
11.0.2
このスクラップは2023/03/09にクローズされました