Files
loan-pricing/doc/implementation-report-2026-04-10-login-shell-default-node25.md

1.6 KiB
Raw Blame History

2026-04-10 登录 Shell 默认使用 Node 25 实施记录

变更内容

  • 保持 nvm 默认别名为 25
  • ~/.zprofile 中补充 nvm 初始化,并在登录 shell 启动时自动执行 nvm use default

根因分析

  • nvm alias default 25 已经存在,但仅在交互式 shell 中可用
  • zsh -lc 启动的是登录非交互 shell不会读取 ~/.zshrc
  • 因此这类场景下 nodenpmnpx 未进入 PATH表现为 npx 启动失败

修改文件

  • ~/.zprofile
  • doc/implementation-report-2026-04-10-login-shell-default-node25.md

验证项

  • 验证登录 shell 在不手动执行 nvm use 的情况下可直接识别 node
  • 验证登录 shell 在不手动执行 nvm use 的情况下可直接识别 npx
  • 验证 nvm 默认别名仍然指向 25

执行命令

  • zsh -lc 'nvm alias default 25'
  • zsh -lc 'echo NODE=$(node -v); echo NPM=$(npm -v); echo NPX=$(npx -v); echo NODE_PATH=$(command -v node); echo NPX_PATH=$(command -v npx); echo NVM_CURRENT=$(nvm current); echo NVM_ALIAS=$(nvm alias default | tail -n 1)'

验证结果

  • nvm 默认别名输出为 default -> 25 (-> v25.9.0 *)
  • 登录 shell 输出 NODE=v25.9.0
  • 登录 shell 输出 NPM=11.12.1
  • 登录 shell 输出 NPX=11.12.1
  • 登录 shell 输出 NODE_PATH=/Users/wkc/.nvm/versions/node/v25.9.0/bin/node
  • 登录 shell 输出 NPX_PATH=/Users/wkc/.nvm/versions/node/v25.9.0/bin/npx
  • 登录 shell 输出 NVM_CURRENT=v25.9.0
  • 登录 shell 输出 NVM_ALIAS=default -> 25 (-> v25.9.0 *)

结论

  • zsh -lc 场景下已默认切换到 Node 25.9.0
  • npx 在登录 shell 中已可直接使用,无需先手动执行 nvm use 25