Open2

Flutter

brooksbrooks

トラブルシューティング

環境

  • WSL2

No. 1

問題

  • flutter doctor実行時に/usr/bin/env: ‘bash\r’: No such file or directoryとなる

解決方法

No. 2

問題

  • sdkmanagerがJavaのバージョン依存関係で動作せず以下のようなエラーが出る
Error: LinkageError occurred while loading main class 
com.android.sdklib.tool.sdkmanager.SdkManagerCli
        java.lang.UnsupportedClassVersionError: 
        com/android/sdklib/tool/sdkmanager/SdkManagerCli has been compiled 
        by a more recent version of the Java Runtime (class file version 61.0), 
        this version of the Java Runtime only recognizes class file versions up to 55.0

解決方法

  • Javaバージョンより対応関係を確認し、適切なバージョンのJavaをインストール
  • 今回はJava21をOracle公式よりインストール
# JDK Development Kit 21.0.1をダウンロード
$ wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz

# 解凍
$ tar zxvf jdk-21_linux-x64_bin.tar.gz

$ mv jdk-21.0.1 /usr/java
$ cd /usr/java
$ ln -s /usr/java/jdk-21.0.1 default

#  Java環境ファイル「.java.env」の作成
# 以下を.java.envに追記
export JAVA_HOME=/opt/java
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.

# 作成した.java.envを読み込む
$ source .java.env

# バージョン確認
$ java --version

参考にした記事