Flutter升级遇Rename-Item路径访问被拒绝错误,求解决方法
解决Flutter升级时的“Access to the path is denied”权限问题
先把你遇到的错误信息贴出来方便对照:
Downloading Dart SDK from Flutter engine
Rename-Item : Access to the path 'C:\src\flutter\bin\cache\dart-sdk' is denied.
At C:\src\flutter\bin\internal\update_dart_sdk.ps1:51 char:5
- Rename-Item $dartSdkPath "$oldDartSdkPrefix$oldDartSdkSuffix"
- CategoryInfo : WriteError: (C:\src\flutter\bin\cache\dart-sdk:String) [Rename-Item], IOException
- FullyQualifiedErrorId : RenameItemIOError,Microsoft.PowerShell.Commands.RenameItemCommand
这个权限问题在Windows上升级Flutter时挺常见的,要么是系统盘权限限制,要么是Dart SDK被进程占用了,我给你几个实用的解决办法:
1. 以管理员身份运行终端
Windows对C盘目录的修改默认需要更高权限,你可以:
- 找到PowerShell或者命令提示符(CMD),右键点击它,选择**「以管理员身份运行」**
- 在管理员终端里重新执行升级命令:
flutter upgrade
2. 关闭所有占用Dart SDK的程序
错误里的重命名失败,大概率是dart-sdk文件夹正在被其他进程占用,比如你的IDE(Android Studio、VS Code)或者后台运行的Flutter服务。你可以:
- 彻底关闭所有打开的IDE(别只是最小化,要完全退出)
- 打开任务管理器,找到所有带「dart」或「flutter」字样的进程,右键选择**「结束任务」**
- 之后再尝试运行
flutter upgrade
3. 修改Flutter目录的权限
如果前两种方法没用,手动给当前用户赋予Flutter目录的完全控制权限:
- 右键点击
C:\src\flutter文件夹,选择**「属性」** - 切换到「安全」标签页,点击**「编辑」**按钮
- 在「组或用户名」列表里找到你当前登录的账号,勾选「允许」列下的**「完全控制」**选项
- 依次点击「应用」→「确定」保存设置,然后重新运行
flutter upgrade
4. 手动替换Dart SDK(备用方案)
要是前面的方法都不奏效,就手动处理:
- 先运行
flutter doctor -v查看当前Flutter的引擎版本,找到匹配的Dart SDK版本 - 关闭所有可能占用
dart-sdk的程序,手动删除C:\src\flutter\bin\cache\dart-sdk文件夹 - 下载对应版本的Dart SDK,解压后把整个文件夹重命名为
dart-sdk,放到C:\src\flutter\bin\cache\目录下 - 最后运行
flutter doctor确认环境是否正常
内容的提问来源于stack exchange,提问作者amin jaafari




