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

本地Github Action Runner调用Terser报错:node.exe路径无法识别

本地GitHub Action Runner里node.exe路径识别问题的解决办法

几个实用的修复方案

1. 直接写node.exe的绝对路径

命令行能跑是因为你的用户环境变量里有node路径,但Action Runner的PowerShell会话可能没加载全。直接用绝对路径调用就没问题:

& 'C:\Program Files\nodejs\node.exe' ./node_modules/terser/bin/terser.js [你的压缩参数]

要是用nvm管理node,路径得换成你nvm安装的具体版本路径,比如C:\Users\<你的用户名>\AppData\Roaming\nvm\v18.17.0\node.exe

2. 给Runner刷新环境变量

本地Runner启动的PowerShell可能用的是受限环境变量,先在YAML里刷一遍系统变量:

steps:
  - name: 刷新系统环境变量
    run: |
      $env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
  - name: 执行Terser压缩
    run: |
      node ./node_modules/terser/bin/terser.js [你的压缩参数]

3. 用npm脚本间接调用Terser

最省心的方式是在项目package.json里定义压缩脚本,npm会自动处理路径问题:
先在package.json里加这段:

"scripts": {
  "minify-js": "terser src/*.js -o dist/minified.js",
  "minify-css": "terser src/*.css -o dist/minified.css"
}

然后Action YAML里这么写:

steps:
  - name: 安装依赖
    run: npm install
  - name: 压缩JS文件
    run: npm run minify-js
  - name: 压缩CSS文件
    run: npm run minify-css

4. 检查Runner服务的运行账户

如果本地Runner是Windows服务模式运行的,默认用的是Local System账户,这个账户的环境变量和你登录用户的不一样。改成你常用的用户就行:

  • 打开服务管理器,找到GitHub Actions Runner服务
  • 右键选属性→登录→点“此账户”,输入你的用户账号和密码
  • 重启服务后再跑Action

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 15:09:56