PowerToys 命令未找到,找不到winget,

dtcbnfnu  于 5个月前  发布在  其他
关注(0)|答案(2)|浏览(44)

Microsoft PowerToys版本

0.78.0

安装方法

Microsoft商店

以管理员身份运行

出现问题的区域?

命令未找到

重现步骤

很遗憾,我不知道。
我在这里使用winget C:\Users\myusername\AppData\Local\Microsoft\WindowsApps\winget.exe
它与以管理员身份运行相同

✔️预期行为

Winget找到并显示绿色勾选

❌实际行为

[PSVersion, 7.4.1] [PSEdition, Core] [GitCommitId, 7.4.1] [OS, Microsoft Windows 10.0.22631] [Platform, Win32NT] [PSCompatibleVersions, System.Version[]] [PSRemotingProtocolVersion, 2.3] [SerializationVersion, 1.1.0.1] [WSManStackVersion, 3.0]
检测到PowerShell 7.4或更高版本。
WinGet客户端模块未检测到。安装说明可以在https://www.powershellgallery.com/packages/Microsoft.WinGet.Client上找到。
命令未找到模块未在配置文件中注册。

n53p2ov0

n53p2ov01#

我想补充一下,我也遇到了类似的问题。
我正在使用PowerShell 7-preview(PowerShell 7.5.0-preview.1)和自定义配置文件,目前已安装winget v1.6.3482。
当尝试从PowerToys V0.78.0安装“命令未找到”模块时,我遇到了以下错误。

System.ComponentModel.Win32Exception (2): An error occurred trying to start process 'pwsh.exe' with working directory 'C:\Users\mcclellandk\AppData\Local\PowerToys'. The system cannot find the file specified.
   at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
   at Microsoft.PowerToys.Settings.UI.ViewModels.CmdNotFoundViewModel.RunPowerShellScript(String powershellExecutable, String powershellArguments, Boolean hidePowerShellWindow)PowerShell 7.4 or greater not detected. Installation instructions can be found on https://learn.microsoft.com/powershell/scripting/install/installing-powershell-on-windows

此外,pwsh.exe在我的系统变量路径中被找到,以管理员身份运行PowerToys时也会出现相同的结果。
当我查看PowerToys中的“命令未找到”设置时,我被告知需要安装PowerShell 7.4或更高版本以及Winget客户端PS模块,两者都已安装。

0x6upsns

0x6upsns2#

我正在经历相同的错误。
然而,我已经找到了一个临时的但部分的"补丁"。以下是步骤:
1 | 如果你已经有PowerShell 7,转到第3步!否则,从%SystemRoot%\system32\WindowsPowerShell\v1.0\复制powershell.exe
2 | 将可执行文件粘贴到C:\Program Files\PowerToys文件夹中
4 | 将该副本从powershell.exe重命名为pwsh.exe
5 | 转到该副本的属性并启用Run this program as an administrator
6 | 返回到CNF(命令未找到)并刷新状态。
7 | 点击PowerShell 7.4 or greater的安装按钮
8 | 现在PowerShell 7已经存在于你的系统中,从Step 1重复,但不要从System32复制powershell可执行文件,而是从PowerShell 7的主文件夹中复制pwsh.exe
现在你也可以安装winget了!

请注意,尽管这可能会修复“pwsh.exe未找到”的错误,但由于可执行文件副本可能不是预期的可执行文件,因此PowerShell 7和Winget的安装状态将无法且不会更新!

此外,为了重现问题,只需从PowerToys根文件夹中删除pwsh.exe文件或安装PowerToys v0.77.0或v0.78.0,因为这两个版本都存在相同的问题。

相关问题