node.js - 'newman' 未被识别为内部或外部命令
问题描述
我已经关注了以下关于如何在Azure DevOps或 TFS 中配置邮递员/纽曼 API 测试并发布 HTML 结果的中等帖子?
在我的管道中,我有一个安装 newman 的任务(通过命令传递install newman -g
)和一个运行 api 测试的任务。(失败 - 错误:'newman' 不被识别为内部或外部命令。)
在我的环境变量中,我有:
- npm\node_modules\newman\bin
- \npm\node_modules\newman
- %AppData%\npm
我确实使用安装了 newman npm install -g newman
,如果我运行,newman -v
我会得到5.2.2
.
我运行 API 请求的 Azure 任务:newman run Auth.postman_collection.json -e UserAuthEnvironmentVariables.postman_environment.json --reporters cli,junit --reporter-junit-export Results\junitReport.xml
'C:\Users<user>\AppData\Roaming\npm' 包含 3 个 newman 文件,C:\Users\RRQA.RRIOMQAS01\AppData\Roaming\npm\node_modules\newman
还包含文件和文件夹。
我的节点版本是v14.16.1
,npm 版本是6.14.12
当我编辑环境变量时,我会重新启动服务器以确保更改确实生效。
任何其他建议我可能会尝试解决这个问题。?
解决方案
当您从 azure 运行命令行并在本地登录系统时,它可能在不同的用户身份下运行(一个在管理员中,另一个在您的帐户中),所以有时您在环境变量中安装或设置的内容不会是在管理员身份登录中可用。
确保为所有用户完成安装。(添加路径到系统变量)否则:
将其安装为项目目录中的本地模块:
npm install newman newman-reporter-htmlextra
并使用:
"./node_modules/.bin/newman" run
推荐阅读
- javascript - 是否可以在 PLOP 中使用单个 templateFile 添加多个文件
- angular - TypeError: (0 , _slash(...).default) 不是函数
- gcc - 链接描述文件总是将变量解释为零?
- abstract-syntax-tree - Lex && Yacc 编译器作业
- android - Android 如何在 Canvas 中使用 BlurMaskFilter.Blur.NORMAL 来遮罩位图
- django - 从 1.11 迁移到 Django 2.2——ForeignKey 中没有 on_delete 的旧迁移会破坏一切
- javascript - 使用 ps-node 时 Electron/React 应用程序冻结
- asp.net - 如何在 ASP.NET MVC 中以列格式保存文本文件数据
- javascript - 获取错误 415 - 获取 api 中不支持的媒体类型
- python - 更快的选择行和应用函数的方法