在 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.2/powershell_7.4.2-1.deb_amd64.deb
  • 适用于受支持的 Ubuntu 版本的 PowerShell 7.3.12 (stable) 通用包
    • https://github.com/PowerShell/PowerShell/releases/download/v7.3.12/powershell_7.3.12-1.deb_amd64.deb
  • 适用于受支持的 Ubuntu 版本的 PowerShell 7.2.19 (LTS) 通用包
    • https://github.com/PowerShell/PowerShell/releases/download/v7.2.19/powershell_7.2.19-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.2/powershell_7.4.2-1.deb_amd64.deb

###################################
# Install the PowerShell package
sudo dpkg -i powershell_7.4.2-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.2-1.deb_amd64.deb

# Start PowerShell Preview
pwsh-lts

卸载 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 基目录规范

支持的版本

下表列出了当前受支持的 PowerShell 版本以及支持它们的 Ubuntu 版本。 这些版本在 PowerShell 版本到达支持终止日期Ubuntu 版本到达支持终止日期之前仍受支持。

  • 支持 图标指示仍支持 OS 或 PowerShell 版本
  • 不支持 图标指示该 OS 版本不再支持 PowerShell 版本
  • 测试中 图标指示我们尚未在该 OS 上完成 PowerShell 的测试
  • 不支持 图标指示不支持 OS 或 PowerShell 版本
  • 当 OS 版本和 PowerShell 版本都具有 支持 图标时,将支持该组合
Ubuntu 7.2(LTS-早期) 7.3 7.4(LTS-当前)
支持 22.04 LTS (Jammy) 受支持 受支持 支持
支持 20.04 LTS (Focal) 受支持 受支持 支持
不支持 18.04 LTS (Bionic) 停止支持 停止支持 停止支持

仅 Ubuntu 的 LTS 版本受正式支持。 Microsoft 不支持临时版本或其等效版本。 临时版本受社区支持。 有关详细信息,请参阅社区支持的分布

以下处理器体系结构在 Ubuntu 上支持 PowerShell。

Ubuntu 7.2 (LTS-current) 7.3 7.4(LTS-当前)
所有支持的版本 x64、Arm32 x64、Arm32 x64、Arm32

安装支持

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