Flutter Windows端安装shared_preferences报错无法创建链接问题问询
Flutter Windows 符号链接创建报错解决方案
报错根因
你遇到的FileSystemException: Cannot create link错误,是Flutter处理Windows平台插件依赖时,无法为插件生成临时符号链接导致。在你已经确认开启开发者模式、磁盘为NTFS、UAC开启的前提下,常见诱因如下:
- 项目位于网络映射磁盘(你报错路径中的Z盘通常为网络共享映射盘),Windows默认禁止在远程共享路径下创建符号链接,本地开发者模式权限无法覆盖该限制
- 运行
flutter pub命令的终端没有管理员权限,部分Windows安全策略会拦截普通权限终端的符号链接创建操作 - 项目
windows/flutter/ephemeral目录下存在残留的损坏符号链接,导致新的链接无法写入 - 企业定制Windows系统的组策略限制了当前用户的符号链接创建权限
修复步骤
- 最高优先级方案:将项目从Z盘移动到本地物理磁盘的任意目录,重新执行
flutter pub add shared_preferences即可解决绝大多数该类问题 - 右键点击你使用的终端(CMD/PowerShell/IDE内置终端),选择「以管理员身份运行」后再次执行pub命令
- 清理项目缓存与损坏的临时目录,重新拉取依赖:
flutter clean rd /s /q windows\flutter\ephemeral flutter pub get
- 若使用企业管理的设备,运行
gpedit.msc打开组策略编辑器,依次进入「计算机配置→Windows 设置→安全设置→本地策略→用户权限分配→创建符号链接」,将你的当前用户加入授权列表,重启设备后生效
特殊场景:若必须使用网络映射盘存放项目,可打开注册表编辑器定位到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,新建DWORD类型的LongPathsEnabled值设为1,同时进入同级的SymlinkEvaluation目录,将RemoteToRemote、RemoteToLocal两个DWORD值都设为1,重启后生效。该操作会降低系统安全等级,非必要不建议操作。
内容的提问来源于stack exchange,提问作者IPoluyanov
相关产品推荐
相关产品推荐

