☰
pwsh 找不到?PowerShell 安装一次通过的最短路径
2026/10/13 6:04:48 网站建设 项目流程

pwsh 找不到?PowerShell 安装一次通过的最短路径

【免费下载链接】PowerShellPowerShell for every system!项目地址: https://gitcode.com/GitHub_Trending/po/PowerShell

在 Linux 或 macOS 上装 PowerShell 7 时,你多半会卡在终端提示pwsh: command not found,或者包管理器直接拒绝你拿错的架构包。这篇文章把架构确认、脚本执行到验证跑通的每一步都写出来,命令均可直接复制。

现场速判:先定位你的 PowerShell 安装失败属于哪一类 🔍

动手之前,先对号入座,看你停在哪一步:

  • 终端提示pwsh: command not found,或 Windows 上报告pwsh 不是内部或外部命令
  • 安装包时报架构不匹配,或直接执行解压出的二进制出现Exec format error
  • Windows 装完弹出"无法在此环境中运行",或进程一闪而过
  • 脚本跑完了,但安装目录的架构与当前系统对不上
  • 已经有 pwsh,执行却提示bash: permission denied

仔细看,这些卡点归不成两类:一类是包和架构没对上,另一类是装法或 PATH 的问题。前者靠选对包解决,后者靠官方脚本加对参数解决,两者的最短路径是同一个。

处方:用 PowerShell 安装脚本从零跑通的最短路径 📌

前置确认:用一条命令核对架构是否匹配

脚本会自动识别架构,但提前知道结果,装完比对时更容易发现问题:

# 查看 CPU 架构:x86_64 对应 x64,arm64 对应 ARM64 uname -ms

输出形如x86_64 Linux或arm64 Darwin,对应选 x64 或 ARM64 的安装包。Windows 上在 PowerShell 里执行两行:

# 第一行打印架构;第二行若有输出说明 pwsh 已安装 $env:PROCESSOR_ARCHITECTURE; Get-Command pwsh -ErrorAction SilentlyContinue

第二条命令如果打印出路径,说明 pwsh 其实装好了,只是没进 PATH——直接补环境变量即可,不必重装。

执行:跑官方脚本自动选定架构匹配的包

脚本就在源码仓库的 tools 目录里,会自动识别发行版和架构,再调用对应的子安装脚本,你不用手动挑 deb 还是 rpm。全自动安装需要 sudo 权限:

# 克隆源码仓库,官方安装脚本位于 tools 目录 git clone https://gitcode.com/GitHub_Trending/po/PowerShell cd PowerShell

Linux/macOS 直接运行:

# 脚本自动检测架构与发行版,安装匹配的 PowerShell 7 bash tools/install-powershell.sh

Windows 上执行 ps1 版本,-AddToPath负责写入用户级 PATH:

# -AddToPath 把安装目录写入 PATH,装完重开终端才生效 powershell -ExecutionPolicy Bypass -File tools\install-powershell.ps1 -AddToPath

想要预览版时加-preview参数(ps1 版本写作-Preview),与正式版本并行安装、互不覆盖:

# -preview 并行安装预览版,可与正式版共存 bash tools/install-powershell.sh -preview

全部参数说明见安装脚本用法。

即时验证:新开终端确认 pwsh 已进 PATH

别在刚跑完安装的那个旧终端里验证,它的 PATH 还没刷新。关掉终端,重新开一个:

# 版本应输出 PowerShell 7.x.x pwsh --version

看到 7 开头的版本号,主线流程就算走完了。

备选路径:内网离线与容器环境两种走法

  • 内网无外网:先在一台能联网的机器上用uname -m确认架构,把对应架构的.deb/.rpm/.tar.gz提前拷过去手动安装,并核对校验值,防止包损坏或架构不符。
  • 老系统或依赖问题多:干脆跳过安装,直接用容器跑:
# 拉取官方 PowerShell 镜像,进入交互容器 docker run -it mcr.microsoft.com/powershell
  • 不受支持的特殊架构:走源码编译,按Linux 构建文档用Start-PSBuild构建匹配版本。

开发场景:装完后给 Cmdlet 工程补上引用

命令行跑通后,如果你要开发 Cmdlet,还有一个高频"装不上"要留意。在 Visual Studio 新建工程对话框里选 Class Library (.NET Standard),工程名与位置按文档示例填写:

再到 NuGet 包管理器里添加 powershell-core 包源并安装 SDK 包。如果提示找不到包,通常是包源或网络问题,与 PowerShell 本体是否装好无关:

复诊:用两条命令确认 PowerShell 安装真正生效 ✅

验证要在新终端里跑完这条才算数:

# 1+1 应输出 2,确认引擎能正常执行 pwsh -c "1+1"

预期输出单独一行2。再配合pwsh --version打印出 7.x,安装才算真正完成。macOS 上首次启动可能弹一次系统对话框,形如下图,正常放行即可:

留意三种"看似成功其实没成功"的假象:

  • 如果pwsh --version报错,而你用的终端还是安装时那个——那是旧会话 PATH 未刷新,关掉重开终端再试,别急着重装。
  • 如果输出的版本号是 5.x 或 6.x——说明旧版本在占位,确认新安装路径在 PATH 里排前面,或移除旧的软链接。
  • 如果pwsh -c "1+1"正常输出 2,但你的某个脚本报错——那是执行策略或脚本自身的问题,与本次安装无关,单独去排查。

下次终端里再被pwsh not found拦住,就按这个顺序走:先核架构,再跑脚本,最后到新终端验证。三句口诀记住,安装失败基本就追不上你了。

【免费下载链接】PowerShellPowerShell for every system!项目地址: https://gitcode.com/GitHub_Trending/po/PowerShell

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询