在 Ubuntu 上安装 PowerShell

GitHub 版本页面上提供有所有可用包。 安装之前,请查看以下支持的版本列表。 安装包以后,从终端运行 pwsh。 若已安装预览版,请运行 pwsh-lts

注意

PowerShell 7.4 是会删除旧版 PowerShell 7 的就地升级。 PowerShell 的预览版可以与其他版本的 PowerShell 并行安装。 如果需要与以前的版本并行运行 PowerShell 7.4,请使用二进制存档方法重新安装以前的版本。

Ubuntu 将 APT(高级包工具)用作包管理器。

通过包存储库安装包存储库

Microsoft 构建并支持一系列适用于 Linux 系统的软件产品,并通过 Linux 打包客户端(apt、dnf、yum 等)提供这些产品。 这些 Linux 软件包托管在 Microsoft 产品的 Linux 包存储库上 (https://packages.microsoft.com),也称为 PMC

从 PMC 安装 PowerShell 是首选安装方法。

注意

此脚本仅适用于受支持的 Ubuntu 版本。

###################################
# Prerequisites

# Update the list of packages
sudo apt-get update

# Install pre-requisite packages.
sudo apt-get install -y wget apt-transport-https software-properties-common

# Get the version of Ubuntu
source /etc/os-release

# Download the Microsoft repository keys
wget -q https://packages.microsoft.com/config/ubuntu/$VERSION_ID/packages-microsoft-prod.deb

# Register the Microsoft repository keys
sudo dpkg -i packages-microsoft-prod.deb

# Delete the Microsoft repository keys file
rm packages-microsoft-prod.deb

# Update the list of packages after we added packages.microsoft.com
sudo apt-get update

###################################
# Install PowerShell
sudo apt-get install -y powershell

# Start PowerShell
pwsh

重要

Ubuntu 预配置了一个包存储库,其中包括 .NET 包,但不包括 PowerShell。 使用这些说明安装 PowerShell 会将 Microsoft 存储库注册为包源。 可以从此存储库安装 PowerShell 和某些版本的 .NET。 但是,Ubuntu 包存储库具有不同版本的 .NET 包。 出于其他目的安装 .NET 时,这可能会导致问题。 有关这些问题的详细信息,请参阅排查 Linux 上的 .NET 包混淆问题

必须选择要用于安装 .NET 的源。 可以设置包存储库的优先级,使其中一个优先于另一个。 有关如何设置优先级的说明,请参阅我的 Linux 分发版提供 .NET 包,我想使用它们

通过直接下载安装

PowerShell 7.2 引入了一个简化安装过程的通用包。 从“版本”页将通用包下载到安装 Ubuntu 的计算机。

指向当前版本的链接是:

  • 适用于受支持的 Ubuntu 版本的 PowerShell 7.4 (LTS) 通用包
    • https://github.com/PowerShell/PowerShell/releases/download/v7.4.3/powershell_7.4.3-1.deb_amd64.deb
  • 适用于受支持的 Ubuntu 版本的 PowerShell 7.2 (LTS) 通用包
    • https://github.com/PowerShell/PowerShell/releases/download/v7.2.21/powershell_7.2.21-1.deb_amd64.deb
  • 适用于受支持的 Ubuntu 版本的 PowerShell 7.5-preview.3 通用包
    • https://github.com/PowerShell/PowerShell/releases/download/v7.5.0-preview.3/powershell-preview_7.5.0-preview.3-1.deb_amd64.deb

以下 shell 脚本用于下载并安装 PowerShell 的当前预览版本。 可以更改 URL 以下载要安装的 PowerShell 版本。

###################################
# Prerequisites

# Update the list of packages
sudo apt-get update

# Install pre-requisite packages.
sudo apt-get install -y wget

# Download the PowerShell package file
wget https://github.com/PowerShell/PowerShell/releases/download/v7.4.3/powershell_7.4.3-1.deb_amd64.deb

###################################
# Install the PowerShell package
sudo dpkg -i powershell_7.4.3-1.deb_amd64.deb

# Resolve missing dependencies and finish the install (if necessary)
sudo apt-get install -f

# Delete the downloaded package file
rm powershell_7.4.3-1.deb_amd64.deb

# Start PowerShell Preview
pwsh

卸载 PowerShell

sudo apt-get remove powershell

支持 Arm 处理器

PowerShell 7.2 及更高版本支持在使用 32 位 Arm 处理器的 Ubuntu 上运行。 请使用在 Linux 上安装 PowerShell 的备用方法中所述的用于安装 PowerShell 的二进制存档安装方法。

PowerShell 路径

  • $PSHOME/opt/microsoft/powershell/7/
  • 配置文件脚本存储在以下位置:
    • AllUsersAllHosts - $PSHOME/profile.ps1
    • AllUsersCurrentHost - $PSHOME/Microsoft.PowerShell_profile.ps1
    • CurrentUserAllHosts - ~/.config/powershell/profile.ps1
    • CurrentUserCurrentHost - ~/.config/powershell/Microsoft.PowerShell_profile.ps1
  • 模块存储在以下位置:
    • 用户模块 - ~/.local/share/powershell/Modules
    • 共享模块 - /usr/local/share/powershell/Modules
    • 默认模块 - $PSHOME/Modules
  • PSReadline 历史记录将记录到 ~/.local/share/powershell/PSReadLine/ConsoleHost_history.txt

PowerShell 采用 Linux 上的 XDG 基目录规范

支持的版本

Microsoft 在 PowerShell 到达支持终止日期Ubuntu 版本到达支持终止日期之前仍然支持 PowerShell。

Microsoft 工件注册表中提供了包含 x64 版 和 Arm32 版 PowerShell 7.2、PowerShell 7.4 和 PowerShell 7.5-preview 的 Docker 映像,适用于以下 Ubuntu 版本:

  • Ubuntu 22.04 (Jammy Jellyfish) - OS 支持于 2027-04-01 结束
  • Ubuntu 20.04 (Focal Fossa) - OS 支持于 2025-04-02 结束

也可从 https://packages.microsoft.com/ 获取安装包文件 (.deb)。

Ubuntu 23.10 (Mantic Minotaur) 是一个临时版本。 Microsoft 不支持 Ubuntu 的临时版本。 有关详细信息,请参阅社区支持的分布

安装支持

Microsoft 支持本文档中的安装方法。 其他第三方源可能会提供其他安装方法。 尽管这些工具和方法可能有效,但 Microsoft 无法支持这些方法。