Azure 和 NX,在 运行 管道时出错:npm:另一个进程,id 4224,当前是 运行 ngcc

Azure and NX, error while running a pipeline : npm : Another process, with id 4224, is currently running ngcc

我正在尝试 运行 使用 Azure 的管道,在构建时失败并出现此错误:

当我在本地 运行 nx affected --target=build --base=origin/master --prod --parallel 命令时,我也有 Another process... 消息,但它没有显示为允许构建继续的错误。但在 Azure 上它就失败了:(

知道如何解决这个问题吗?谢谢

这是 NGCC 运行方式的已知问题,您可以在此处参考:

GitHub Issue 35362

作为解决方法,将其添加到您的 package.json 文件中:(在脚本部分)

"postinstall": "ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points",

它似乎也在使用 --parallel 标志进行阻塞。尝试放弃它。

经过进一步调查,我发现问题出在powershell上。

这是我使用的 yaml 代码:

- task: PowerShell@2
        displayName: 'Running build'
        inputs:
          targetType: 'inline'
          script: 'npm run nx affected -- --target=build --base=origin/master --prod --parallel'

看起来 Powershell 因这个错误而退出,但 cmd.exe 或 pwsh 似乎都不是这种情况。 这是有效的版本:

- pwsh: 'npm run nx affected -- --target=build --parallel --base=origin/master --prod'
        displayName: 'Running build'