You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitHub Actions工作流中重启终端以启用nvm

在GitHub Actions中实现类似nvm安装后重启终端的效果

本地装完nvm后要重启终端,核心是让shell重新加载nvm的环境配置。在GitHub Actions里不用真的重启终端,靠下面几种方法就能达到同样效果:

方案1:手动加载nvm初始化脚本

装完nvm后,在后续步骤里用source命令加载nvm的配置文件:

steps:
  - name: 安装nvm
    run: |
      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
  - name: 加载nvm环境
    run: |
      source "$HOME/.nvm/nvm.sh"
      # 验证nvm是否可用
      nvm --version

方案2:同一step内完成安装与加载

如果不想拆分步骤,直接在同一个run块里完成安装和加载——同一个run块属于同一个shell会话,不用额外处理:

steps:
  - name: 安装并激活nvm
    run: |
      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
      source "$HOME/.nvm/nvm.sh"
      nvm install 20
      node --version

方案3:通过环境变量持久化配置

把nvm的路径和加载命令写入GITHUB_ENV,让后续所有步骤自动加载nvm环境:

steps:
  - name: 安装nvm
    run: |
      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
      echo "NVM_DIR=$HOME/.nvm" >> $GITHUB_ENV
      echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> $GITHUB_ENV
  - name: 使用nvm管理Node版本
    run: |
      nvm install 18
      node --version

核心原理说明

  • 本地重启终端的本质是让shell重新读取环境配置文件,GitHub Actions里每个step默认是新开的shell会话,所以只要手动加载nvm的初始化脚本,或者把配置传递到后续步骤的环境中,就能实现同样的效果。
  • GitHub Actions的运行环境不支持直接重启shell会话,没必要尝试这类操作,上面的方法完全能满足需求。

内容的提问来源于stack exchange,提问作者Stvvks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 17:46:16