1

我添加了 scoop,然后添加了 Starship,就像 Starship 官方网站所说的那样使用 command scoop install starship。然后我将从 Starship 网站复制的行添加到 PowerShell 配置文件中:

Invoke-Expression (&starship init powershell)

但它会将此错误抛出到 PowerShell 窗口: Invoke-Expression : Cannot bind argument to parameter 'Command' because it is null.

这是我的 PowerShell 中唯一的一行$Profile

但是问题出在哪里,你能弄清楚吗?错误如下图所示:

在此处输入图像描述

4

2 回答 2

2

简单的解决方案

Invoke-Expression (& 'C:\Users\psayeed1990\scoop\apps\starship\current\starship.exe' init powershell --print-full-init | Out-String)

根据需要更改 starship.exe 的链接。

为了进一步阅读,这就是我解决这个问题的方法......

用记事本创建文件对我不起作用

首先,如果您的 PowerShell $profile不存在,请在命令行中使用此命令创建配置文件(使用记事本创建文件不起作用)。

if (!(Test-Path -Path $PROFILE)) {

  New-Item -ItemType File -Path $PROFILE -Force

}

其次,如果您使用notepad $profile命令,您可以查看、编辑和保存文件。从Starship 官方网站复制此代码并将其粘贴到 $profile 文件的末尾Invoke-Expression (&starship init powershell)

三、如果还不行,可能要安装vcredist2019。scoop install vcredist2019对我不起作用。所以,我从官网下载。

四、安装vcredist2019也没有解决。正如@Olaf 在评论中指出的那样,您需要引号而不是括号,Invoke-Expression "&starship init powershell".

我不认为引用是写作的方式。如果您重新启动 PowerShell 并且它仍然无法工作,您可能仍然会看到错误或行,它会为您提供带有 Starship 可执行文件的确切路径的命令。

Invoke-Expression "&starship init powershell"第五,将$profile中的上述代码替换为该行。

Invoke-Expression (& 'C:\Users\psayeed1990\scoop\apps\starship\current\starship.exe' init powershell --print-full-init | Out-String)

我希望这行得通。

于 2021-09-06T02:16:16.010 回答
-1

您需要先激活 PowerShell 脚本的执行。为此,请以管理员身份运行以下命令:

Set-ExecutionPolicy RemoteSigned
于 2022-01-19T21:16:23.797 回答