在个人用户目录下执行Flutter命令需sudo权限的问题求助
解决Flutter命令需要sudo执行的权限问题
这问题大概率是Flutter缓存目录的权限被意外设为root所有了——哪怕你在个人主目录操作,如果安装时不小心用了sudo,或是某次sudo运行Flutter后,缓存文件的所有者就会变成root,普通用户自然没法写入,才会抛出shlock: open(...) Permission denied的错误。
试试下面的步骤来修复:
第一步:确认目录权限
先检查Flutter主目录和缓存目录的所有者,在终端运行:ls -ld /Users/drandomuom/dev/flutter ls -ld /Users/drandomuom/dev/flutter/bin/cache如果输出里的所有者是
root而非你的用户名,那就坐实了权限问题。第二步:递归修复目录所有者
把整个Flutter目录及其所有子文件/目录的所有者改成当前用户,运行:chown -R $USER:$USER /Users/drandomuom/dev/flutter这个命令会递归遍历目录,把所有文件的所属用户和组都切换到你的个人账户下。
第三步:验证修复效果
现在不用sudo,直接运行flutter doctor,看看是否还会出现权限报错。如果一切正常,后续操作都不需要再加sudo了。
额外提醒:以后尽量避免用sudo运行Flutter命令,因为sudo会以root身份执行操作,很容易让文件权限脱离你的个人账户,导致这类权限问题反复出现。
内容的提问来源于stack exchange,提问作者drandom3
相关产品推荐
相关产品推荐

