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

常规PowerShell可执行newman命令,Jenkins运行同脚本提示‘newman未识别’

解决Jenkins中无法识别newman命令的问题

这种情况很常见,核心原因是Jenkins运行时的环境变量和你本地PowerShell的环境变量不一致,尤其是PATH变量没有包含npm全局包的路径,导致Jenkins找不到newman命令。下面是几个可行的解决方案:

方案1:在Jenkins脚本中先全局安装newman

直接在你的Jenkins执行脚本开头添加全局安装命令,确保Jenkins运行环境能获取到newman:

npm install -g newman
# 然后再执行你的newman测试命令
newman run "C:\Program Files (x86)\Jenkins\workspace\GenericServiceWithPostman\Collections\Account Recv Microservice.postman_collection.json"

如果是新版npm(v7+),可以加上--location=global参数避免权限问题:

npm install -g newman --location=global

方案2:直接使用newman的完整路径调用

找到你本地newman的实际安装路径(通常在用户目录的npm全局文件夹下),比如:
C:\Users\<你的本地用户名>\AppData\Roaming\npm\newman.cmd
在Jenkins脚本里用这个完整路径代替newman命令:

& "C:\Users\<你的本地用户名>\AppData\Roaming\npm\newman.cmd" run "C:\Program Files (x86)\Jenkins\workspace\GenericServiceWithPostman\Collections\Account Recv Microservice.postman_collection.json"

注意替换<你的本地用户名>为实际的用户名。

方案3:配置Jenkins的NodeJS环境

  • 进入Jenkins的全局工具配置页面
  • 找到NodeJS配置项,点击新增NodeJS,选择合适的NodeJS版本,勾选自动安装(或者指定本地已安装的NodeJS路径)
  • 保存配置后,回到你的Jenkins项目,在构建步骤中选择使用NodeJS,选择刚才配置的NodeJS环境
  • 这样Jenkins会自动将该NodeJS的npm全局路径加入到PATH中,之后就能直接使用newman命令了

方案4:检查Jenkins服务的运行账户

Jenkins默认可能用本地系统账户运行,这个账户的环境变量和你登录的用户不一样。你可以:

  • 打开服务管理器,找到Jenkins服务,右键选择属性
  • 切换到登录选项卡,选择此账户,输入你本地能正常运行newman的用户账户和密码
  • 重启Jenkins服务,之后Jenkins会使用该用户的环境变量,就能找到newman了

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:09:46