公司动态

PowerShell 装不上?3 条路径一次搞定(附 ARM64 编译适配)

📅 2026/8/30 13:21:20
PowerShell 装不上?3 条路径一次搞定(附 ARM64 编译适配)
PowerShell 装不上3 条路径一次搞定附 ARM64 编译适配【免费下载链接】PowerShellPowerShell for every system!项目地址: https://gitcode.com/GitHub_Trending/po/PowerShellPowerShell 的安装脚本在架构检测那一步停下屏幕上只有一行operating system ... not supported装是装不上了。问题大多出在架构没对上机器是 ARM64你却拿了 x64 的包或者发行版根本不在支持列表里。这篇文章把官方仓库里现成的三条安装路径拆给你看一键脚本、源码编译、容器兜底顺带讲清安装脚本到底是怎么认出你的机器的。看懂安装脚本怎么挑架构tools/install-powershell.sh 的思路很像快递柜取件先问清你是谁再去货架上拿对应的箱子。它分三步走读系统身份跑uname、uname -r、uname -m再翻/etc/redhat-release、/etc/debian_version、/etc/os-release这些文件判定发行版是 redhat、debian、suse、amazonlinux、gentoo 还是 mariner读 CPU 架构uname -m给出x86_64、aarch64这类值决定去取哪个运行时目录映射安装动作按发行版 × 架构找到对应的分发包安装方式比如 Debian 系走.debRedHat 系走rpmApple Silicon 走.pkg。匹配失败时会直接打印operating system is based on xxx and is not supported并退出——这就是你看到的那行报错不是脚本坏了而是货架上没你这号货架。理解了上面这些下面直接动手。实战从确认架构到跑起来用 uname -m 和 os-release 确认你的架构与发行版先确认机器身份再谈装什么。下面四条命令在 Linux、macOS 上都能跑输出决定了你走哪条路径。bashuname -m # 架构x86_64 / aarch64 uname -r # 内核版本 . /etc/os-release echo $PRETTY_NAME $VERSION_ID # 发行版与版本看到aarch64或arm64说明你的机器是 ARM64后面所有下载、编译都要按 ARM64 来。⚠️ 这一步判断错了后面装出来的 pwsh 大概率直接起不来。用官方安装脚本装好 Linux 上的 pwsh确认身份后直接跑仓库自带的安装脚本它会自动完成检测→下载→装包。bash# 从仓库克隆后本地执行 git clone https://gitcode.com/GitHub_Trending/po/PowerShell cd PowerShell ./tools/install-powershell.sh也可以不 clone用一行 wget 拉脚本直接跑脚本支持-preview安装预览版、-includeide顺带装 VSCode 及扩展等开关完整列表见 tools/install-powershell.sh-README.md。bashsudo bash -c $(wget -qO- https://raw.githubusercontent.com/PowerShell/PowerShell/master/tools/install-powershell.sh)跑完执行pwsh出现PS /提示符就说明装好了。用 Start-PSBuild 编译出 ARM64 架构的 pwsh发行版不在支持列表、或者你就是想要 ARM64 的定制构建时从源码编译。仓库的构建逻辑在 build.psm1 模块里产物路径由目标架构决定。powershellImport-Module ./build.psm1 Start-PSBootstrap -Scenario Both # 装构建依赖 下载 .NET SDK 到 ~/.dotnet Start-PSBuild -Runtime linux-arm64构建用的 SDK 版本由 global.json 和 DotnetRuntimeMetadata.json 锁定当前为11.0.100-preview.6.26359.118docs/building/linux.md 有从零配环境的完整说明。编译完成后直接跑产物验证bash./src/powershell-unix/bin/Debug/net11.0/linux-arm64/publish/pwsh -v看到版本号输出说明 ARM64 的 pwsh 已经能执行了。用 Docker 容器跑现成的 PowerShell 镜像不想编译的话容器路线更省事拉一个架构匹配的镜像进去就是 pwsh。官方 Docker 镜像的构建仓库已独立为 PowerShell-Docker见 docker/README.md镜像拉取命令以该仓库最新文档为准。bashdocker run -it --rm mcr.microsoft.com/powershell pwsh PS / $PSVersionTable.Platform容器里$PSVersionTable.Platform有值说明这条兜底路线通了。踩过的坑与验证现象脚本报 sudo 相关错误 →原因发行版要求无密码 sudo检测逻辑直接放弃 → 手动加-skip-sudo-check跳过检查。现象装完pwsh: cannot execute binary file→原因下载了和机器架构不一致的包 → 回到uname -m重新核对换对应架构的安装包。现象编译时提示找不到 .NET SDK →原因Start-PSBootstrap没跑或 SDK 没进 PATH → 把~/.dotnet加进 PATH或重跑一次 bootstrap。现象Windows 上一键脚本被拒 →原因执行策略拦了远程脚本 → 先Set-ExecutionPolicy Bypass -Scope Process再用 tools/install-powershell.ps1 跑安装。最后两条验证命令确认真的搞定了bashpwsh -v uname -m✅ 版本号能打印、架构和包一致安装就算真正落地了。延伸参考tools/install-powershell.shLinux/macOS 一键安装入口脚本tools/install-powershell.ps1Windows 侧对应安装脚本docs/building/linux.mdLinux 下从环境到构建的完整说明docker/README.mdDocker 镜像构建仓库的指引【免费下载链接】PowerShellPowerShell for every system!项目地址: https://gitcode.com/GitHub_Trending/po/PowerShell创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考