无法确定身份

Unable to determine Identity

当我在 azure devops 中的托管 macOS 上使用此构建任务时,我遇到了一些错误,导致构建在各个步骤失败。

旧节点版本 您是 Node.js 的 运行 版本 v6.17.0,Angular CLI v6 不支持该版本。 支持的官方 Node.js 版本为 8.9 及更高版本。 这只会在托管的 macOS 上抱怨,当我使用 windows 构建 android 时,不会出现此错误。为了修复它,我刚刚使用 Node.js 工具安装程序任务安装了 10.x 节点。

Unable to determine identity Input to determineIdentity: {"cwd":"/Users/vsts/agent/2.150.3/work/1/s","unlockDefaultKeychain":false,"defaultKeychainPassword":"","p12":"/Users/vsts/agent/2.150.3/work/1/s/signing/ios/DEV/Developer Certificate.p12","p12pwd":"***"} TypeError [ERR_INVALID_ARG_TYPE]: The "file" argument must be of type string. Received type object at validateString (internal/validators.js:125:11)

似乎是更新版本的节点,它没有传递预期的参数。我无法克服这个错误。这是此构建步骤的 YAML:

steps:
- task: ms-vsclient.cordova-extension.cordovabuildtask.CordovaBuild@1
  displayName: 'Cordova Build ios'
  inputs:
    platform: ios
    configuration: Release
    antBuild: false
    p12: 'signing/ios/DEV/Developer Certificate.p12'
    p12pwd: '$(p12pwd)'
    provProfile: 'signing/ios/DEV/DEV.mobileprovision'
    removeProfile: true
    windowsPhoneOnly: false
    windowsOnly: false
    targetEmulator: false

文件位于正确的位置并且密码已正确设置为构建变量。

请帮忙!

最后通过降级 node.js version.May 解决了这个问题,可能对某些人有帮助。我使用的 ionic v1 项目可能是最新的 node.js 与旧版本的 ionic v1 有一些兼容问题,因此将节点降级到 6.7.0 并且它工作得很好。