Win7系统下Ionic添加Android平台报错:Command failed: powershell...求助
解决Windows 7下Ionic添加Android平台时PowerShell命令报错问题
这个报错的核心原因是Windows 7默认预装的PowerShell版本为2.0,而Cordova/Ionic的检测脚本用到了仅在PowerShell 3.0及以上才支持的Get-CimInstance命令;另外也可能是PowerShell的路径没被添加到系统环境变量,导致系统识别不了powershell命令。下面是具体的解决方案:
方案一:升级PowerShell到3.0及以上版本
这是最根本的解决办法,步骤如下:
- 下载Windows Management Framework 3.0(该包包含PowerShell 3.0,适配Windows 7),注意选择和你系统位数匹配的安装包(32位/64位)
- 运行安装包完成安装后,重启电脑
- 验证版本:打开PowerShell,执行命令
$PSVersionTable.PSVersion,确保主版本号≥3
方案二:检查并修复PowerShell的系统环境变量
如果PowerShell已经安装但系统找不到命令,大概率是路径没配置:
- 右键「计算机」→「属性」→「高级系统设置」→「环境变量」
- 在「系统变量」区域找到
Path变量,点击「编辑」 - 添加PowerShell的默认路径:
C:\Windows\System32\WindowsPowerShell\v1.0\ - 点击所有弹窗的「确定」保存设置,然后重启你用来执行Ionic命令的终端(CMD/PowerShell),再重新运行
ionic cordova platform add android
方案三:临时绕过PowerShell改用CMD执行(应急方案)
如果暂时无法升级PowerShell,可以修改Cordova的检测脚本强制用CMD:
- 先尝试手动创建项目下的
platforms目录(如果还没添加过平台) - 找到
platforms\android\cordova\lib\check_reqs.js文件(添加平台失败后可能已经生成部分文件) - 找到脚本中调用
powershell的代码段,将powershell替换为cmd /c,保存后重新执行添加平台命令
注意:这个方法属于临时 workaround,后续Cordova更新可能会覆盖修改,还是建议优先升级PowerShell
验证步骤
在执行解决方案前,可以先排查问题点:
- 打开CMD,输入
powershell,如果无法进入PowerShell环境,说明路径未配置或未正确安装 - 进入PowerShell后执行
Get-CimInstance -ClassName Win32_OperatingSystem,如果报错,说明版本过低,必须升级
内容的提问来源于stack exchange,提问作者Saddam Hussain
相关产品推荐
相关产品推荐

