node.js - Azure DevOps 自托管代理报告 NPM 版本错误

标签 node.js windows npm azure-devops

我们已在基于 Windows 的自托管代理上将 Node 更新至版本 10.16.3,并将 NPM 更新至版本 6.11.3(目前均为最新版本)。

但是,在作业运行日志中,我们看到代理报告 NPM 版本为 6.9.0,这是 Node 10.16.3 安装的默认版本。 Wrong version reported

在托管代理所在的虚拟机内,如果我在 CMD 中运行“npm”,我会获得 NPM 的最新版本。另外,如果我运行代理运行的相同命令来获取版本,我仍然可以获得 NPM 的正确版本:

Correct version

这里可能出了什么问题? 我们想要最新版本的 NPM 的原因是因为我们的构建使用它运行得更快。

谢谢!

最佳答案

我们对这个问题采取了非常业余的方法。当我们通过 RDP 登录时,我们使用用户“代理”,并且所有安装的范围都限于该用户。但是,代理使用 NetworkService 用户,该用户对于 NPM 和 Node 有自己的作用域。

该修复基本上是在我们的构建管道中添加步骤来检查 NPM 的最新版本并在未安装的情况下安装它。

关于node.js - Azure DevOps 自托管代理报告 NPM 版本错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58198764/

相关文章:

node.js - node.js 服务器是否需要互联网连接才能运行?

javascript - 我可以使用 apollo federation 来模块化同一台服务器上的模式吗?

c++ - MS Visual Studio Windows 中的 Release模式与 Debug模式

php - 通过 PHP 发送预定消息

node.js - 开发期间的 npm peerDependencies

node.js - 获取 npm : command not found. 已安装 Node 时如何重新安装 NPM? NPM 去哪儿了?

尝试运行nodejs脚本时的linux权限问题

javascript - 我怎样才能绑定(bind)一个变量来 Sequelize 文字?

c++ - 如何获取我正在使用 "open with"方法执行的程序路径?

node.js - Travis - 控制哪个 Node 版本用于 NPM 安装