pwsh.exe 未识别错误:深入剖析及其解决之道
问题
在 Visual Studio 2022 中构建项目时,你可能遇到以下令人沮丧的错误:
'pwsh.exe' is not recognized as an internal or external command, operable program or batch file.
原因探究
此错误表明系统无法识别 pwsh.exe
命令,这是 Windows PowerShell 的可执行文件。vcpkg 安装过程中需要使用 PowerShell 执行脚本和命令,因此如果 PowerShell 未正确安装或配置,就会导致此错误。
解决步骤
1. 确认 PowerShell 已安装
按下 Windows 键 + R,输入 powershell
,如果 PowerShell 成功启动,则表明它已安装。
2. 检查 PowerShell 执行策略
执行策略应设置为 RemoteSigned
或 Unrestricted
。运行命令 Get-ExecutionPolicy
来检查执行策略,并根据需要使用命令 Set-ExecutionPolicy RemoteSigned
来更改它。
3. 重新安装 vcpkg
如果重新安装 vcpkg 不起作用,则可以尝试设置 PowerShell 脚本的路径环境变量。打开控制面板,转到“系统和安全”>“系统”>“高级系统设置”>“环境变量”。在“系统变量”部分中,添加一个新的变量:
- 变量名:
VCPKG_DEFAULT_POWERSHELL_PATH
- 变量值:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
5. 使用不同版本的 PowerShell
vcpkg 也支持 PowerShell Core。你可以从 Microsoft 下载中心下载 PowerShell Core 并尝试使用它来解决问题。
结论
按照这些步骤,你应该能够解决 pwsh.exe
未识别错误。如果错误仍然存在,建议向 vcpkg 社区寻求进一步的帮助。
常见问题解答
1. 什么是 vcpkg?
vcpkg 是一个 C++ 库管理器,可以帮助你安装和管理 C++ 库。
2. 为什么 vcpkg 需要 PowerShell?
vcpkg 使用 PowerShell 来执行安装脚本和命令。
3. 如何检查 PowerShell 是否已安装?
按下 Windows 键 + R,输入 powershell
,如果 PowerShell 成功启动,则表明它已安装。
4. 如何更改 PowerShell 执行策略?
运行命令 Get-ExecutionPolicy
来检查执行策略,并根据需要使用命令 Set-ExecutionPolicy RemoteSigned
来更改它。
5. 如何设置 vcpkg PowerShell 路径环境变量?
打开控制面板,转到“系统和安全”>“系统”>“高级系统设置”>“环境变量”。在“系统变量”部分中,添加一个新的变量:
- 变量名:
VCPKG_DEFAULT_POWERSHELL_PATH
- 变量值:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe