PowerShell语言模式受限致Flutter命令执行失败,求替代方案
解决PowerShell受限环境下的Flutter使用问题
改用Command Prompt(CMD)执行Flutter命令
Flutter提供了CMD兼容的批处理脚本flutter.bat,位于Flutter SDK目录的bin文件夹下。直接打开CMD终端,输入flutter doctor或其他Flutter命令即可正常运行,无需依赖PowerShell的高级语言特性。修改Flutter启动脚本的编码创建逻辑
找到Flutter SDK目录下bin\flutter.ps1脚本,将报错的代码行:$utf8NoBom = New-Object System.Text.UTF8Encoding($false)替换为PowerShell核心模式支持的静态构造写法:
$utf8NoBom = [System.Text.UTF8Encoding]::new($false)保存修改后,即可在受限的PowerShell环境中正常执行Flutter命令。
直接调用Dart SDK执行Flutter工具
Flutter工具本身基于Dart编写,可直接调用Flutter内置的Dart SDK运行工具入口:- 定位到Flutter SDK目录下的
bin\cache\dart-sdk\bin路径 - 在终端中执行:
替换命令中的dart.exe "FlutterSDK路径\packages\flutter_tools\bin\flutter_tools.dart" doctorFlutterSDK路径为你实际的SDK安装路径,即可完成对应Flutter命令的执行。
- 定位到Flutter SDK目录下的
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

