文件
ParlzPackageManger/web/install.sh
T
JGZYES 7905777485 ci+aarch64: build pmm-aarch64 binary + linux-aarch64 .pdm; install.sh picks arch asset
- release.yml matrix adds linux-aarch64 (cc aarch64-linux-gnu-gcc), builds
  out/pmm-aarch64, and produces pmm-<ver>-linux-aarch64.pdm (pure-tar pdm) when
  that binary exists; amd64/windows packages unchanged.
- web/install.sh: download pmm (amd64) vs pmm-aarch64 (arm64) per arch, dropping
  the 'only amd64 provided' warning.
2026-09-05 14:01:55 +08:00

58 行
1.6 KiB
Bash
原始文件 Blame 文件历史

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
#!/bin/sh
# ParlzPackageManager (PMM) — Linux/macOS one-line installer.
#
# 用法:
# curl -sSL -o install.sh https://pmm.parlz.com/install.sh && bash install.sh
# 或:curl -sSL https://pmm.parlz.com/install.sh | bash
#
# 下载官方 release 二进制并安装到 /usr/local/bin/pmmroot)或 ~/.local/bin/pmm。
set -e
VER="0.3.6"
REPO="JGZYES/ParlzPackageManger"
# ---- 检测平台 ----
OS="$(uname -s)"; ARCH="$(uname -m)"
case "$OS" in
Linux) os=linux ;;
Darwin) os=macos ;;
*) echo "pmm: 不支持的平台 $OS"; exit 1 ;;
esac
case "$ARCH" in
x86_64|amd64) arch=amd64 ;;
aarch64|arm64) arch=arm64 ;;
*) echo "pmm: 不支持的架构 $ARCH"; exit 1 ;;
esac
# ---- 下载 pmm(按架构选 release 资产名)----
case "$arch" in
amd64) ASSET="pmm" ;;
arm64) ASSET="pmm-aarch64" ;;
esac
URL="https://github.com/$REPO/releases/download/v$VER/$ASSET"
echo "pmm: 下载 v$VER ($os/$arch) ..."
TMP="$(mktemp)"
# --progress-bar shows a live download progress line (tty only)
if ! curl -fL --progress-bar --max-time 300 -o "$TMP" "$URL"; then
rm -f "$TMP"; echo "pmm: 下载失败($URL"; exit 1
fi
echo ""
chmod +x "$TMP"
# ---- 安装 ----
if [ "$(id -u)" = "0" ]; then
DEST="/usr/local/bin/pmm"
else
DEST="${HOME}/.local/bin/pmm"
fi
mkdir -p "$(dirname "$DEST")"
cp "$TMP" "$DEST" && chmod +x "$DEST" && rm -f "$TMP"
# ---- PATH 提示 ----
case ":$PATH:" in
*":$(dirname "$DEST"):"*) ;;
*) echo "pmm: 请将 $(dirname "$DEST") 加入 PATH(或重新登录 shell" ;;
esac
echo "pmm: 安装完成 -> $DEST"
"$DEST" -v 2>/dev/null || true