推荐用dnf/yum从microsoft官方仓库安装pwsh,需根据rhel版本(8或9)选择对应repo路径,安装前执行dnf update更新元数据,装完运行pwsh --version验证;离线可手动下载.rpm安装并补libunwind、icu依赖;无root权限则解压tar.gz至/opt/microsoft/powershell/7并配置软链与ld_library_path。

直接装 pwsh 就行,但选错方式或漏掉依赖,装完一运行就报 libunwind 或 icu 缺失错误——这不是 PowerShell 本身的问题,是系统没配好运行时环境。
用 dnf/yum 从 Microsoft 官方仓库安装(RHEL/CentOS/Fedora 推荐)
这是最省心的方式,包管理器会自动拉取并解决大部分依赖。但注意:脚本里要根据 RHEL 大版本号(8 或 9)选对仓库路径,否则 dnf install powershell 会找不到包。
- 先确认系统版本:
source /etc/os-release && echo $VERSION_ID,取整数部分判断是 8 还是 9 - 下载对应 repo 包:
curl -sSL -O https://packages.microsoft.com/config/rhel/$majorver/packages-microsoft-prod.rpm - 注册仓库后必须执行
dnf update,否则新 repo 的元数据不会生效,install powershell仍失败 - 装完直接运行
pwsh --version,别用powershell命令——Linux 下可执行文件名固定为pwsh
手动下载 .rpm 包安装(适合离线或特定版本需求)
GitHub 发布页的 .rpm 包是通用构建,不绑定具体发行版,但要求系统已预装基础运行库。常见报错如 error while loading shared libraries: libicuuc.so.70 就说明缺 ICU。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 下载地址示例(7.6.2 LTS):
https://github.com/PowerShell/PowerShell/releases/download/v7.6.2/powershell-7.6.2-1.rh.x86_64.rpm - 安装前先补依赖:
sudo dnf install -y libunwind icu(RHEL 8+ 默认没装icu) - 用
sudo rpm -ivh powershell-*.rpm安装,别用dnf install ./xxx.rpm——后者可能因签名问题拒绝安装 - 装完检查
/usr/bin/pwsh是否存在,有些旧版 rpm 会装到/opt/microsoft/powershell/7/pwsh,需手动加软链
解压 tar.gz 手动部署(适合无 root 权限或定制路径)
这种方式跳过包管理器,灵活性高,但路径和权限全得自己管。最容易踩的坑是符号链接没加执行权限,或者 pwsh 被塞进非 PATH 目录。
- 解压目标建议用官方路径:
sudo tar -xzf powershell-*.tar.gz -C /opt/microsoft/powershell/7 - 创建软链必须用绝对路径:
sudo ln -s /opt/microsoft/powershell/7/pwsh /usr/local/bin/pwsh - 两个地方都要加执行权限:
sudo chmod +x /opt/microsoft/powershell/7/pwsh和sudo chmod +x /usr/local/bin/pwsh - 如果
pwsh启动时报Failed to load ICU library,说明LD_LIBRARY_PATH没包含 ICU 路径,临时加:export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
真正麻烦的不是安装步骤,而是不同发行版对 icu、libunwind 版本的要求不一致——RHEL 9 自带 ICU 70+,RHEL 8.6 之前只有 ICU 60,这时候就得手动降级 PowerShell 版本或编译 ICU。装完别急着跑脚本,先 pwsh -c '$PSVersionTable' 看输出是否完整,再动 Azure 或其他模块。










