【问题标题】:Broken angular v8 build破碎的角度v8构建
【发布时间】:2019-08-05 21:36:29
【问题描述】:

vsts 管道中的 ng build 任务突然不再工作了。该问题仅在 vsts 上首次出现 - 当我在我的机器上清除并重新安装 node_modules 时,我可以重现该问题。因此,我很确定问题来自包引用。不幸的是,日志/错误消息并没有让我知道在哪里进一步查看:

An unhandled exception occurred: Object prototype may only be an Object or null: undefined
See "C:\Users\Marco\AppData\Local\Temp\ng-bJyhPj\angular-errors.log" for further details.
npm ERR! file C:\WINDOWS\system32\cmd.exe
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! abp-zero-template@6.7.0 publish: `node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build --prod --aot=true`
npm ERR! spawn ENOENT

这是 angular-errors.log 的内容:

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Software\\nodejs\\node.exe',
1 verbose cli   'D:\\node_modules\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'run',
1 verbose cli   'publish' ]
2 info using npm@6.9.0
3 info using node@v10.15.1
4 verbose run-script [ 'prepublish', 'publish', 'postpublish' ]
5 info lifecycle abp-zero-template@6.7.0~prepublish: abp-zero-template@6.7.0
6 info lifecycle abp-zero-template@6.7.0~publish: abp-zero-template@6.7.0
7 verbose lifecycle abp-zero-template@6.7.0~publish: unsafe-perm in lifecycle true
8 verbose lifecycle abp-zero-template@6.7.0~publish: PATH: D:\node_modules\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;D:\enio_git\enio.InvoiceR\enio.InvoiceR.Frontend\node_modules\.bin;D:\enio_git\enio.InvoiceR\enio.InvoiceR.Frontend\node_modules\.bin;C:\Users\Marco\AppData\Local\JetBrains\Toolbox\apps\WebStorm\ch-0\192.5728.87\jbr\\bin;C:\Users\Marco\AppData\Local\JetBrains\Toolbox\apps\WebStorm\ch-0\192.5728.87\jbr\\bin\server;D:\node_modules;D:\Gradle\bin;C:\SimpleProgs\curl-7.48\bin;C:\Program Files\Docker\Docker\Resources\bin;C:\Users\Marco\.azure-kubectl;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\PROGRA~1\MICROS~4\CLIENT~1\ODBC\130\Tools\Binn\;C:\ProgramData\DockerDesktop\version-bin;C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\;D:\Gradle\bin;C:\SimpleProgs\curl-7.48\bin;C:\Program Files\Microsoft SQL Server\130\DTS\Binn\;C:\PROGRA~2\MICROS~3\CLIENT~1\ODBC\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\;C:\PROGRA~2\MICROS~3\130\Tools\Binn\MANAGE~1\;C:\Users\Marco\AppData\Roaming\npm;C:\OpenSSL-Win32\bin;C:\Program Files (x86)\Windows Kits\10\bin\x86;D:\Android\android-sdk\tools;D:\Android\android-sdk\platform-tools;D:\Android\android-sdk\build-tools;C:\Program Files (x86)\Windows Kits\10\bin\x86;C:\Users\Marco\.azure-kubectl;C:\Program Files\Git\usr\bin;C:\Program Files\heroku\bin;;C:\php7;C:\PROGRA~2\MICROS~2\Azure\CLI2\wbin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WINDOW~1\v1.0\;C:\Program Files (x86)\Common Files\Lenovo;C:\ProgramData\Lenovo\ReadyApps;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Users\Marco\AppData\Roaming\npm;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Windows Kits\10\bin\x86;C:\Program Files (x86)\Google\Google Apps Sync\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\PROGRA~2\MICROS~3\130\Tools\Binn\;C:\;C:\Program Files (x86)\Yarn\bin\;C:\composer;C:\Program Files\dotnet\;C:\Software\nodejs\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\ProgramData\chocolatey\bin;C:\Program Files (x86)\Microsoft SQL Server\150\DTS\Binn\;C:\Program Files\Git\cmd;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Google\Google Apps Migration\;D:\node_modules;D:\Gradle\bin;C:\SimpleProgs\curl-7.48\bin;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Windows Kits\10\bin\x86;C:\Users\Marco\.azure-kubectl;C:\Program Files\Git\usr\bin;C:\Program Files\heroku\bin;D:\Gradle\bin;C:\Users\Marco\AppData\Roaming\npm;C:\SimpleProgs\curl-7.48\bin;C:\Program Files\Intel\WiFi\bin\;D:\Gradle\bin;C:\ProgramData\Lenovo\ReadyApps;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Windows Kits\10\bin\x86;C:\Program Files (x86)\Common Files\Lenovo;C:\Users\Marco\.azure-kubectl;C:\Program Files\Git\usr\bin;C:\Program Files\heroku\bin;;C:\Program Files (x86)\Sophos\Sophos SSL VPN Client\bin;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Users\Marco\AppData\Local\Microsoft\WindowsApps;C:\Users\Marco\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Windows Kits\10\bin\x86;C:\SimpleProgs\curl-7.48\bin;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Users\Marco\.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc1-update2\bin;C:\Users\Marco\.dnx\bin;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Users\Marco\AppData\Local\Yarn\bin;C:\Program Files (x86)\Microsoft VS Code\bin;C:\Users\Marco\AppData\Roaming\npm;C:\Users\Marco\.dotnet\tools
9 verbose lifecycle abp-zero-template@6.7.0~publish: CWD: D:\enio_git\enio.InvoiceR\enio.InvoiceR.Frontend
10 silly lifecycle abp-zero-template@6.7.0~publish: Args: [ '/d /s /c',
10 silly lifecycle   'node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build --prod --aot=true' ]
11 info lifecycle abp-zero-template@6.7.0~publish: Failed to exec publish script
12 verbose stack Error: abp-zero-template@6.7.0 publish: `node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build --prod --aot=true`
12 verbose stack spawn ENOENT
12 verbose stack     at ChildProcess.<anonymous> (D:\node_modules\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:48:18)
12 verbose stack     at ChildProcess.emit (events.js:189:13)
12 verbose stack     at maybeClose (internal/child_process.js:970:16)
12 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
13 verbose pkgid abp-zero-template@6.7.0
14 verbose cwd D:\enio_git\enio.InvoiceR\enio.InvoiceR.Frontend
15 verbose Windows_NT 10.0.17134
16 verbose argv "C:\\Software\\nodejs\\node.exe" "D:\\node_modules\\node_modules\\npm\\bin\\npm-cli.js" "run" "publish"
17 verbose node v10.15.1
18 verbose npm  v6.9.0
19 error file C:\WINDOWS\system32\cmd.exe
20 error code ELIFECYCLE
21 error errno ENOENT
22 error syscall spawn
23 error abp-zero-template@6.7.0 publish: `node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build --prod --aot=true`
23 error spawn ENOENT
24 error Failed at the abp-zero-template@6.7.0 publish script.
24 error This is probably not a problem with npm. There is likely additional logging output above.
25 verbose exit [ 1, true ]

有人知道我可以在哪里进一步了解吗?

在我编辑这个问题之前,它与 azure pipelines/vsts 有关: 不幸的是,我也不知道如何访问异常 /tmp/ng-mrMsf6/angular-errors.log 中提到的日志文件 - 当我从 vsts build 下载日志时,此文件不会包含在 zip 中。

【问题讨论】:

  • 我们需要更多信息才能提供帮助。喜欢:构建它是否也可以在 fresh 机器上工作(没有任何以前的节点模块)?您确定没有在本地安装任何未在构建代理上安装的节点模块吗?是否有更新的包你不会在本地获得(因为packages.config 接受旧版本)但是确实安装在构建代理上,因为它没有任何旧的东西?您是否尝试过在本地删除节点模块文件夹、安装包并运行构建?
  • 您使用的是 package-lock.json 文件吗? Azure Pipelines 的 npm 任务是否配置为运行 npm installnpm ci 来恢复包?
  • @rickvdbosch 感谢您的评论。是的,确实在清除 node_modules 之后,我的本地机器上也有这个问题。因此,我从问题中删除了与 azure pipelines 相关的内容。

标签: angular npm node-modules angular-aot


【解决方案1】:

要访问代理上的日志文件,您需要将它们作为工件发布。您需要配置 Publish Pipeline Artifact 以在失败时运行:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多