Fix: Flutter doctor が permission denied で失敗 (Linux)

( 更新 )


Flutter 2 を Linux にインストールした時のことです。flutter doctor の実行が必要でした。

しかしながら実行すると、以下のような “Permission denied” エラーになりました。

$ flutter doctor
touch: cannot touch '/opt/flutter/bin/cache/.dartignore': Permission denied

root すなわちスーパーユーザーで実行することが必要なのでしょうか ? いいえ。それは推奨されません:

$ sudo flutter doctor
   Woah! You appear to be trying to run flutter as root.
   We strongly recommend running the flutter tool without superuser privileges.


使っているユーザーを “flutterusers” グループに加えてあげましょう。 Arch Linux での実行例です。こちらのコマンドを実行します:

$ sudo usermod -a -G flutterusers <your-user>
$ # alternatively:
$ #sudo gpasswd -a <your-user> flutterusers

ログアウトして、ログインします。 ふたたび flutter doctor を実行しましょう。

$ flutter doctor
   Building flutter tool...

成功です 🙂

補足: 別の方法 (非推奨)

違う方法もあります。/opt/flutter のパーミッションを変更することでも解決できるかもしれません。しかし上記の方法の方が推奨されるでしょう。

$ sudo chown -R <your-user>: /opt/flutter 

Comments or feedbacks are welcomed and appreciated.