【问题标题】:Apollo-IOS build error "Command PhaseScriptExecution failed with a nonzero exit code"Apollo-IOS 构建错误“Command PhaseScriptExecution failed with a nonzero exit code”
【发布时间】:2019-03-27 20:14:40
【问题描述】:

我正在尝试在 Xcode 10 上构建一个示例 Apollo-IOS。我已按照文档中描述的所有步骤进行操作:

Apolo-IOS getting started

有如下错误

++ npx --no-install apollo codegen:generate --queries=./GraphQL/Queries.graphql --schema=schema.json API.swift --passthroughCustomScalars
[?25l[22:26:11] Loading Apollo config [started]
[22:26:11] Loading Apollo config [completed]
[22:26:11] Resolving GraphQL document sets and dependencies [started]
[22:26:11] Scanning for GraphQL queries (1 found) [title changed]
[22:26:11] Scanning for GraphQL queries (1 found) [completed]
[22:26:11] Generating query files [started]
[22:26:11] Generating query files with 'swift' target [title changed]
[22:26:11] Generating query files with 'swift' target [failed]
[22:26:11] → Cannot read property 'getType' of undefined
[?25hTypeError: Cannot read property 'getType' of undefined
    at typeFromAST (/Volumes/Data/OneDrive/IOS/Source/GraphQL/JediArchives/JediArchives-Final/node_modules/graphql/utilities/typeFromAST.js:41:19)
    at TypeInfo.enter (/Volumes/Data/OneDrive/IOS/Source/GraphQL/JediArchives/JediArchives-Final/node_modules/graphql/utilities/TypeInfo.js:153:74)
    at Object.enter (/Volumes/Data/OneDrive/IOS/Source/GraphQL/JediArchives/JediArchives-Final/node_modules/graphql/language/visitor.js:363:16)
    at Object.visit (/Volumes/Data/OneDrive/IOS/Source/GraphQL/JediArchives/JediArchives-Final/node_modules/graphql/language/visitor.js:254:26)
    at getValidationErrors (/Volumes/Data/OneDrive/IOS/Source/GraphQL/JediArchives/JediArchives-Final/node_modules/apollo/lib/validation.js:21:15)
    at Object.validateQueryDocument (/Volumes/Data/OneDrive/IOS/Source/GraphQL/JediArchives/JediArchives-Final/node_modules/apollo/lib/validation.js:26:30)
    at Object.generate [as default] (/Volumes/Data/OneDrive/IOS/Source/GraphQL/JediArchives/JediArchives-Final/node_modules/apollo/lib/generate.js:19:18)
    at Task.task (/Volumes/Data/OneDrive/IOS/Source/GraphQL/JediArchives/JediArchives-Final/node_modules/apollo/lib/commands/codegen/generate.js:98:64)
    at Promise.resolve.then.then.skipped (/Volumes/Data/OneDrive/IOS/Source/GraphQL/JediArchives/JediArchives-Final/node_modules/listr/lib/task.js:167:30)
[?25hCommand PhaseScriptExecution failed with a nonzero exit code

似乎我的Queries.graphqlschema.json 位于正确的位置,并且可以通过运行脚本找到。任何人都知道错误是什么以及如何解决(我已更新到最新的Apollo-Cli,即 1.9.2)

【问题讨论】:

  • 你找到解决办法了吗??
  • 您好,我认为需要检查 schema.json 的位置。我通过将所有内容放在根文件夹中来使其工作
  • 所以你把 API.swift 、 schema.json 和 .graphql 都放在根文件夹里了吗??
  • 只有Schematic.json 和.graphql 文件。重要的是 scheme.json 语法。我通过执行 Apollo 下载方案命令得到它

标签: swift apollo-ios


【解决方案1】:

我遇到了同样的问题。
我检查了 仅在安装时运行脚本 并解决了问题。 检查您是否勾选了该复选框仅在安装时运行脚本

【讨论】:

  • 您好,感谢您的回复。如果我们更改 GraphQL 文件并重新生成会怎样?
  • 实际上我在 Apollo GraphQL 中也遇到了一些问题,包括这个问题,我通过结帐解决了它仅在安装时运行脚本所以我不确定你的问题.. ..
  • 不要更改由 Apollo 创建的任何内容。如果 Apollo 在预构建脚本期间重新创建文件时您会丢失这些更改。特别是它生成的 API.swift。
  • 问题会解决,但 API.Swift 没有分类
【解决方案2】:

对我来说是 Xcode13。勾选构建基础下的“仅用于安装构建”复选框。工作正常

【讨论】:

    猜你喜欢
    • 2022-12-28
    • 2021-07-16
    • 1970-01-01
    • 2020-02-23
    • 2018-12-12
    • 1970-01-01
    • 2022-01-09
    • 2020-10-02
    • 1970-01-01
    相关资源
    最近更新 更多