在 Windows PowerShell 配置文件中添加 Starship 命令行时出错
Error adding Starship command line in Windows PowerShell profile
我添加了 scoop,然后是 Starship,正如 Starship 官方 website 使用命令 scoop install starship
所说的那样。然后我将从 Starship 网站复制的行添加到 PowerShell 配置文件:
Invoke-Expression (&starship init powershell)
但它会向 PowerShell 抛出此错误 window:
Invoke-Expression : Cannot bind argument to parameter 'Command' because it is null.
这是我的 PowerShell 中唯一的一行 $Profile
。
但是问题出在哪里,请问您能解决吗?错误如下图所示:
简单的解决方案
Invoke-Expression (& 'C:\Users\psayeed1990\scoop\apps\starship\current\starship.exe' init powershell --print-full-init | Out-String)
根据需要更改 starship.exe 的 link。
进一步阅读,我就是这样解决的...
用记事本创建文件对我不起作用
首先,如果您的 PowerShell $profile 不存在,请在命令行中使用此命令创建配置文件(使用记事本创建文件不起作用)。
if (!(Test-Path -Path $PROFILE)) {
New-Item -ItemType File -Path $PROFILE -Force
}
其次,如果您命令notepad $profile,您可以查看、编辑和保存该文件。从 official Starship site 复制此代码并将其粘贴到 $profile 文件 Invoke-Expression (&starship init powershell)
.
的末尾
第三,如果还不行,你可能要安装vcredist2019。 scoop install vcredist2019 对我不起作用。所以,我从official site.
下载了
第四,安装vcredist2019也没有解决。正如@Olaf 在评论中指出的那样,您需要 引号 而不是括号 Invoke-Expression "&starship init powershell"
.
我不认为引用是写作的方式。如果您重新启动您的 PowerShell 但它还没有运行,您可能仍然会看到一条错误或一行,为您提供 Starship 可执行文件的确切路径的命令。
第五,将$profile中的上述代码Invoke-Expression "&starship init powershell"
替换为该行
Invoke-Expression (& 'C:\Users\psayeed1990\scoop\apps\starship\current\starship.exe' init powershell --print-full-init | Out-String)
我希望这能奏效。
您需要先激活PowerShell脚本的执行。
为此,运行 以管理员身份执行以下命令:
Set-ExecutionPolicy RemoteSigned
我添加了 scoop,然后是 Starship,正如 Starship 官方 website 使用命令 scoop install starship
所说的那样。然后我将从 Starship 网站复制的行添加到 PowerShell 配置文件:
Invoke-Expression (&starship init powershell)
但它会向 PowerShell 抛出此错误 window:
Invoke-Expression : Cannot bind argument to parameter 'Command' because it is null.
这是我的 PowerShell 中唯一的一行 $Profile
。
但是问题出在哪里,请问您能解决吗?错误如下图所示:
简单的解决方案
Invoke-Expression (& 'C:\Users\psayeed1990\scoop\apps\starship\current\starship.exe' init powershell --print-full-init | Out-String)
根据需要更改 starship.exe 的 link。
进一步阅读,我就是这样解决的...
用记事本创建文件对我不起作用
首先,如果您的 PowerShell $profile 不存在,请在命令行中使用此命令创建配置文件(使用记事本创建文件不起作用)。
if (!(Test-Path -Path $PROFILE)) {
New-Item -ItemType File -Path $PROFILE -Force
}
其次,如果您命令notepad $profile,您可以查看、编辑和保存该文件。从 official Starship site 复制此代码并将其粘贴到 $profile 文件 Invoke-Expression (&starship init powershell)
.
第三,如果还不行,你可能要安装vcredist2019。 scoop install vcredist2019 对我不起作用。所以,我从official site.
下载了第四,安装vcredist2019也没有解决。正如@Olaf 在评论中指出的那样,您需要 引号 而不是括号 Invoke-Expression "&starship init powershell"
.
我不认为引用是写作的方式。如果您重新启动您的 PowerShell 但它还没有运行,您可能仍然会看到一条错误或一行,为您提供 Starship 可执行文件的确切路径的命令。
第五,将$profile中的上述代码Invoke-Expression "&starship init powershell"
替换为该行
Invoke-Expression (& 'C:\Users\psayeed1990\scoop\apps\starship\current\starship.exe' init powershell --print-full-init | Out-String)
我希望这能奏效。
您需要先激活PowerShell脚本的执行。 为此,运行 以管理员身份执行以下命令:
Set-ExecutionPolicy RemoteSigned