Fix Flutter doctor failed due to permission denied on Linux

created
( modified )
@nabbisen

Problem

When I tried to install Flutter 2 on Linux, running flutter doctor was required.

Running it, however, resulted in the “Permission denied” error below.

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

Should I do it as root, superuser? No. It is not recommended:

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

解決方法

Invite the user to “flutterusers” group. Here is an Arch Linux example. Run this command:

$ sudo usermod -a -G flutterusers $USER
$ # alternatively:
$ #sudo gpasswd -a $USER flutterusers

Log out and login again. Then, try flutter doctor again.

$ flutter doctor
   Building flutter tool...

Solved 🙂

Alternatively, it may be solved by changing /opt/flutter permission. But it is perhaps less recommended.

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

Comments or feedbacks are welcomed and appreciated.