MacOSでSvelteNative開発時のJAVAバージョンエラーの対処方法

エラー内容は

As the message says, you need to run on Java 11. You’re probably running on Java 1.8. The environment setup page on our website explains how to install Java 11: https://reactnative.dev/docs/next/environment-setup.Closing here, but feel free to reopen if the issue is not solved.

ターミナルに出力されたエラー

このエラーはSvelteNativeのソースをAndroidのネイティブコードに変換するJAVAのバージョンが異なるというエラーでした。

そのため、対処は以下の流れで行うとうまくいきます。

  • JAVA11以上をインストール
  • ターミナルで使うJAVAバージョンを切り替える
  • 切り替えを反映させる

といったシンプルな流れで行うことができます。

具体的に見ていきましょう(打田はbashを使っていますが、zshでも同様の流れです)

まずは現況確認

以下のコマンドでJAVAのバージョンを確認してみましょう!

 java -version

おそらく古いバージョンが表示されるはずです。

JAVAのダウンロード

こちらのリンクからJAVA11以上をダウンロード&インストールしましょう。

JAVAバージョンの切り替え

それではbash_profileを書き換えてビルドバージョンを切り替えます(zshの人は~/.zshrc)

vi ~/.bash_profile    

.bash_profileを開いたら以下のように追記します(僕のファイルを載せています)

export ANDROID_HOME=/usr/local/share/android-sdk
export ANDROID_SDK_ROOT=/usr/local/share/android-sdk
export JAVA_HOME=`/usr/libexec/java_home -v "11"`
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/platform-tools

設定反映

最後にsourceコマンドで変更を反映します。

source ~/.bash_profile

以上です!

参考リンク

nativescript公式ドキュメント(Mac + Android環境構築)

macOS に Oracle Java 11 (JDK) をインストールする手順

[Java] macでJDKのバージョンを切り替える方法 ~ JAVA_HOMEを設定する

英語圏アプリで会社や嫌な取引先に依存しない収入を作りませんか?

その裏側を紹介するメールマガジンを配信しているので、ご興味あれば覗いてみてくださいね。