在 macOS 上安装 PowerShell

PowerShell 7 或更高版本需要 macOS 11 或更高版本。 GitHub 版本页面上提供有所有可用包。 安装包以后,从终端运行 pwsh。 安装之前,请查看以下支持的版本列表。

注意

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

安装 PowerShell 的最新稳定版本

可采用多种方法在 macOS 上安装 PowerShell。 选择下列方法之一:

如果未找到 brew 命令,则需要按照说明安装 Homebrew。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装 brew 后,即可安装 PowerShell。

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

brew install powershell/tap/powershell

最后,验证安装是否正常运行:

pwsh

PowerShell 新版本发布后,更新 Homebrew 公式并升级 PowerShell:

brew update
brew upgrade powershell

备注

可从 PowerShell (pwsh) 主机调用上面的命令,但是调用后必须退出 PowerShell 并重启以完成升级,并刷新 $PSVersionTable 中显示的值。

安装 PowerShell 的最新稳定版本

安装 Homebrew 后,可以安装 PowerShell。

brew install powershell/tap/powershell-preview

运行以下命令以启动 PowerShell 预览版:

pwsh-preview

PowerShell 新版本发布后,更新 Homebrew 公式并升级 PowerShell:

brew update
brew upgrade powershell-preview

备注

可能会从 PowerShell (pwsh) 主机调用上面的命令,但是调用后必须退出 PowerShell 并重新启动以完成升级。 然后刷新 $PSVersionTable 中显示的值。

安装 PowerShell 的最新 LTS 版本

brew install powershell/tap/powershell-lts

现在可以验证你的安装

pwsh

发布新版本的 PowerShell 时,请运行以下命令。

brew upgrade powershell-lts

备注

无论使用 cask 还是 tap 方法,在更新到较新版本的 PowerShell 时,请使用最初安装 PowerShell 所使用的相同方法。 如果使用其他方法,则打开新的 pwsh 会话时将继续使用较旧版本的 PowerShell。

如果决定使用其他方法,可以使用 Homebrew link 方法来解决此问题。

通过直接下载安装

从版本 7.2 开始,PowerShell 支持 Apple M1 处理器。 从版本页中将安装包下载到计算机。 指向当前版本的链接包括:

可以双击文件并按照提示操作,或者使用以下命令从终端安装。 更改文件的名称以匹配下载的文件。

sudo installer -pkg ./Downloads/powershell-7.4.1-osx-x64.pkg -target /

如果在 macOS Big Sur 11.5 或更高版本上运行,则安装包时可能会收到以下错误消息:

“powershell-7.4.1-osx-x64.pkg”无法打开,因为 Apple 无法检查它是否存在恶意软件。

可通过两种方法解决此问题:

使用查找器

  1. 在查找器中查找包。
  2. 控制单击(在按住 Ctrl 的同时单击)包。
  3. 从上下文菜单中选择“打开”。

从命令行中

  1. 运行 sudo xattr -rd com.apple.quarantine ./Downloads/powershell-7.4.1-osx-x64.pkg。 如果使用 PowerShell 7 或更高版本,可以使用 Unblock-File cmdlet。 包括 .pkg 文件的完整路径。
  2. 按平常一样安装包。

备注

这是一个与包公证相关的已知问题,以后将得到解决。

作为 .NET 全局工具安装

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

dotnet tool install --global PowerShell

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

二进制存档

已对 macOS 平台提供 PowerShell 二进制 tar.gz 存档,以启用高级部署方案。 使用此方法安装时,还必须手动安装所有依赖项。

备注

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

在 macOS 上安装二进制存档

版本页中将安装包下载到计算机。 指向当前版本的链接包括:

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

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

# Create the target folder where powershell is placed
sudo mkdir -p /usr/local/microsoft/powershell/7

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

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

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

卸载 PowerShell

如果使用 Homebrew 安装 PowerShell,请使用以下命令进行卸载:

brew uninstall --cask powershell

如果通过直接下载安装 PowerShell,则必须手动删除 PowerShell:

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

若要删除其他 PowerShell 路径,请参阅本文档的路径一节,并使用 sudo rm 删除路径。

备注

如果使用 Homebrew 安装,则不需要执行此操作。

路径

  • $PSHOME/usr/local/microsoft/powershell/7
    • macOS 安装包会创建一个符号链接 /usr/local/bin/pwsh,该链接指向 $PSHOME 位置中的 pwsh
  • 用户配置文件是从 ~/.config/powershell/profile.ps1 中读取的
  • 默认配置文件是从 $PSHOME/profile.ps1 中读取的
  • 用户模块是从 ~/.local/share/powershell/Modules 中读取的
  • 共享模块是从 /usr/local/share/powershell/Modules 中读取的
  • 默认模块是从 $PSHOME/Modules 中读取的
  • PSReadline 历史记录将记录到 ~/.local/share/powershell/PSReadLine/ConsoleHost_history.txt

PowerShell 采用 macOS 上的 XDG Base Directory 规范

支持的版本

下表包含 PowerShell 版本列表以及 macOS 版本的支持状态。 这些版本在 PowerShell 版本到达支持终止日期或 macOS 版本到达支持终止日期之前仍受支持。

  • Supported 图标指示仍支持 OS 或 PowerShell 版本
  • Out of Support 图标指示该 OS 版本不再支持 PowerShell 版本
  • In Test 图标指示我们尚未在该 OS 上完成 PowerShell 的测试
  • Not Supported 图标指示不支持 OS 或 PowerShell 版本
  • 当 OS 版本和 PowerShell 版本都具有 Supported 图标时,将支持该组合
macOS 7.2(LTS-早期) 7.3 7.4(LTS-当前)
Supported 14 (Sonoma) In Test In Test In Test
Supported 13 (Ventura) In Test In Test In Test
Supported 12 (Monterey) In Test In Test In Test
Supported 11 (Big Sur) Supported Supported Supported

对 macOS 的支持由 Apple 定义。 有关详细信息,请参阅以下部分:

以下处理器体系结构在 macOS 上支持 PowerShell:

macOS 7.2 (LTS-current) 7.3 7.4(LTS-当前)
macOS Big Sur 11.5 x64、Arm64 x64、Arm64 x64、Arm64

安装支持

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

其他资源