在 Linux 上安装 PowerShell 的替代方法

GitHub 版本页面上提供有所有可用包。 安装包以后,从终端运行 pwsh。 若已安装预览版,请运行 pwsh-preview

还有三种在 Linux 发行版中安装 PowerShell 的其他方法:

Snap 包

Snap 是易于安装、安全、跨平台和无依赖项的应用程序包。 可以从 Snap Store 中发现和安装 Snap。 Snap 包与正在运行此包的发行版受到相同的支持。

重要

Snap Store 包含许多针对 Microsoft 未正式支持的 Linux 发行版的 PowerShell Snap 包。 有关支持,请参阅可用的社区支持选项列表。

获取 snapd

需具备 snapd 才能运行 Snap。 按照这些说明确保你已安装 snapd

通过 Snap 进行安装

有两个适用于 Linux 的 PowerShell 已发布到 Snap 存储powershellpowershell-preview

使用以下命令安装最新稳定版本的 PowerShell:

# Install PowerShell
sudo snap install powershell --classic

# Start PowerShell
pwsh

如果未指定 --channel 参数,Snap 将安装最新的稳定版本。 若要安装最新的 LTS 版本,请使用以下方法:

# Install PowerShell
sudo snap install powershell --channel=lts/stable --classic

# Start PowerShell
pwsh

注意

Microsoft 仅支持 powershell 包的 latest/stablelts/stable 通道。 不要从其他通道安装包。

若要安装预览版本,请使用以下方法:

# Install PowerShell
sudo snap install powershell-preview --classic

# Start PowerShell
pwsh-preview

注意

Microsoft 仅支持 latest/stable 包的 powershell-preview 通道。 不要从其他通道安装包。

安装完成后,Snap 将自动升级。 可以使用 sudo snap refresh powershellsudo snap refresh powershell-preview 触发升级。

卸载

sudo snap remove powershell

sudo snap remove powershell-preview

二进制存档

已对 Linux 平台提供 PowerShell 二进制 tar.gz 存档,以启用高级部署方案。

备注

你可以使用此方法安装任何版本的 PowerShell,包括最新版本:

依赖项

PowerShell 为所有 Linux 分发版生成可移植二进制文件。 但是对于不同的分发版,.NET Core 运行时需要不同的依赖项,并且 PowerShell 也有相同要求。

安装 PowerShell 时,例如通过二进制存档手动安装时,可能不会安装特定依赖项。 下面的列表详细列出了 Microsoft 支持的 Linux 发行版以及可能需要安装的依赖项。 更多信息,请查看发行版页面:

若要在不受正式支持的 Linux 分发版上部署 PowerShell 二进制文件,则需在各个步骤中安装目标 OS 的必要依赖项。 例如,Amazon Linux dockerfile 先安装依赖项,然后提取 Linux tar.gz 存档。

使用二进制存档文件进行安装

重要

此方法可用于在任何 Linux 版本(包括 Microsoft 未正式支持的发行版)上安装 PowerShell。 请务必安装任何需要的依赖项。 有关支持,请参阅可用的社区支持选项列表。

下面的示例展示了安装 x64 二进制存档的步骤。 必须选择与平台的处理器类型匹配的正确二进制存档。

  • powershell-7.4.6-linux-arm32.tar.gz
  • powershell-7.4.6-linux-arm64.tar.gz
  • powershell-7.4.6-linux-x64.tar.gz

使用以下 shell 命令从 tar.gz 二进制存档下载并安装 PowerShell。 更改 URL 以匹配要安装的 PowerShell 版本。

# Download the powershell '.tar.gz' archive
curl -L -o /tmp/powershell.tar.gz https://github.com/PowerShell/PowerShell/releases/download/v7.4.6/powershell-7.4.6-linux-x64.tar.gz

# Create the target folder where powershell will be placed
sudo mkdir -p /opt/microsoft/powershell/7

# Expand powershell to the target folder
sudo tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7

# Set execute permissions
sudo chmod +x /opt/microsoft/powershell/7/pwsh

# Create the symbolic link that points to pwsh
sudo ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh

卸载二进制存档

sudo rm -rf /usr/bin/pwsh /opt/microsoft/powershell

作为 .NET 全局工具安装

如果你已安装 .NET Core SDK,则可以轻松地安装 PowerShell 作为 .NET 全局工具

dotnet tool install --global PowerShell

dotnet 工具安装程序将 ~/.dotnet/tools 添加到 PATH 环境变量中。 但是,当前运行的 shell 没有更新的 PATH。 应该可以通过键入 pwsh 从新 shell 启动 PowerShell。