文件
JGZYES 1b152e950b fix: pmm self install/upgrade now takes effect immediately
- pdm_install_file: when the 'pmm' package is installed, copy the freshly
  built binary over the currently-running pmm path (e.g. /usr/local/bin/pmm)
  and clear the shell command hash, so 'pmm -v' reflects the new version
  without a manual 'hash -r'. Falls back to a hint when the target dir is
  not writable (non-root).
- pmm_add_to_path: prepend PMM dirs on Windows instead of appending, so
  ~/.pmm/root takes priority over /usr/local/bin (matches Linux .bashrc).
- release.yml: add -D_GNU_SOURCE so newer gcc exposes strdup/popen/realpath
  (fixes implicit-declaration build errors).
- CHANGELOG/0.3.7.md
2026-09-05 14:39:29 +08:00

981 B

PMM v0.3.7

修复

  • 安装/升级 pmm 自身后「不生效」:之前新二进制只装进 ~/.pmm/root,从不覆盖当前正在运行的 pmm 路径, 导致 apt 装的 /usr/local/bin/pmm 一直挡在前面、或升级后需 hash -r 才生效。现在安装 pmm 包时会把新二进制 同步覆盖到当前运行的 pmm 路径(如 /usr/local/bin/pmm)并自动执行 hash -rpmm -v 立即显示新版本。
  • Windows 上 pmm_add_to_pathappend 改为 prepend:PMM 目录排在 PATH 前面,避免被 /usr/local/bin 等系统目录覆盖(与 Linux 的 ~/.bashrc 行为一致)。
  • 构建命令增加 -D_GNU_SOURCE,修复新版 gcc 下 strdup/popen/realpath 的隐式声明编译错误。

说明

  • 若运行用户无权限覆盖 /usr/local/bin/pmm(非 root),会打印黄色提示:新版本位于 ~/.pmm/root/usr/local/bin/pmm,请将其加入 PATH 并在当前 shell 运行 hash -r