【问题标题】:Selfhosted Azure DevOps Agent as NetworkService npm Install problem自托管 Azure DevOps 代理作为网络服务 npm 安装问题
【发布时间】:2023-04-10 12:24:01
【问题描述】:

我们有一个带有自托管构建代理的自托管 Azure DevOps 服务器。代理作为 Windows 服务安装,用户为 NetworkService。 我们的项目包含一个带有公共和私有(自托管存储库)NuGet 包的 .NET 应用程序和一个 Angular WebApplication。

对于 NuGet 存储库,我们配置了全局环境变量 HTTP_PROXYHTTPS_PROXY。 .NET 部分工作正常。

npm install 步骤不适用于错误消息:

npm 错误!无法读取 null 的属性“startsWith”

似乎 npm 不喜欢环境变量中的代理设置,并且 .npmrc 文件中没有代理设置。

我的问题是,如何配置 npm 以使用代理设置?如何为用户 NetworkService 配置 .npmrc 文件?

构建日志包含以下消息:

metrics-registry = "https://registry.npmjs.org/" scope = "" user-agent = "npm/6.14.13 节点/v14.17.0 win32 x64"

;环境配置 userconfig = "E:\Agent_02\_work\3\npm\15146.npmrc"

;内置配置未定义前缀 = "C:\WINDOWS\ServiceProfiles\NetworkService\AppData\Roaming\npm"

;节点 bin 位置 = E:\Program Files\nodejs\node.exe ; cwd = E:\Agent_02_work\3\s\Merida.UI.Web;主页 = C:\WINDOWS\ServiceProfiles\NetworkService ; “npm config ls -l”来显示 所有默认值。

[命令]C:\WINDOWS\system32\cmd.exe /D /S /C ""E:\Program 文件\nodejs\npm.cmd" install" npm 错误!无法读取属性 'startsWith' 为 null

如您所见,该构建从以下路径获取一个 .npmrc 文件:E:\\Agent_02\\_work\\3\\npm\\15146.npmrc。每次构建的文件路径都不一样。

我该如何解决这个问题?

提前致谢

【问题讨论】:

    标签: node.js angular npm azure-devops azure-pipelines


    【解决方案1】:

    我终于知道如何为用户 NetworkService 设置全局配置值。

    我将代理设置和私有注册表配置值放在以下文件中: C:\WINDOWS\ServiceProfiles\NetworkService\AppData\Roaming\npm\etc\npmrc

    现在构建成功,npm 包安装没有错误。

    【讨论】:

      猜你喜欢
      • 2021-06-06
      • 2022-06-14
      • 2019-08-31
      • 2021-05-06
      • 2021-11-14
      • 2020-06-12
      • 1970-01-01
      • 2021-12-28
      • 1970-01-01
      相关资源
      最近更新 更多