Android Studio Flutter项目执行flutter pub get报无所需权限错误如何解决?
错误根因
该报错对应的errno=1314是Windows系统专属的权限错误,核心原因是当前登录的Windows普通用户没有创建符号链接的系统权限。flutter pub get执行时需要为Pub缓存目录中的依赖文件创建符号链接映射到当前项目目录,因此触发了权限校验失败;而pub upgrade仅执行依赖包拉取、版本更新逻辑,不需要创建这类符号链接,所以可以正常执行。flutter doctor默认不会扫描系统权限配置项,因此检测不到异常。
解决方案
- 方案1:开启普通用户创建符号链接权限(永久生效,推荐)
- 按下
Win+R组合键呼出运行窗口,输入secpol.msc打开本地安全策略编辑器 - 依次展开目录:本地策略 → 用户权限分配 → 创建符号链接
- 双击打开该配置项,点击「添加用户或组」,将当前登录的Windows用户名添加到授权列表中
- 保存配置后重启电脑生效,之后用普通权限启动Android Studio执行
flutter pub get即可正常运行
- 按下
- 方案2:修改Pub缓存目录(适用于无法修改系统安全策略的场景,比如企业域账号)
如果你当前的用户账号没有权限修改本地安全策略,可以将Pub缓存的存储路径修改为普通用户完全可控的非系统目录:- 按下
Win+R组合键呼出运行窗口,输入sysdm.cpl打开系统属性面板,切换到「高级」标签页后点击「环境变量」 - 在当前用户的变量列表中新建变量,变量名填写
PUB_CACHE,变量值填写自定义的缓存路径,例如D:\Development\Flutter\pub_cache - 保存配置后重启Android Studio,重新执行
flutter pub get即可
- 按下
- 方案3:临时解决方案
每次启动Android Studio时右键选择「以管理员身份运行」,管理员账号默认持有创建符号链接的权限,可直接规避该报错。
内容的提问来源于stack exchange,提问作者user3408531
相关产品推荐
相关产品推荐

