我遵循阿波罗的安装教程。我完全相信我按照安装教程中的描述做了所有事情。但是,在构建项目期间,我收到了编译器错误,例如:
类型错误: 无法读取未定义的属性"长度">
at Object.yargs.command.command.command.argv [as handler] (/usr/local/lib/node_modules/apollo-codegen/src/cli.js:186:17) at Object.runCommand (/usr/local/lib/node_modules/apollo- codegen/node_modules/yargs/lib/command.js:235:44) at Object.parseArgs [as _parseArgs] (/usr/local/lib/node_modules/apollo-codegen/node_modules/yargs/yargs.js:1013:30) at Object.get [as argv] (/usr/local/lib/node_modules/apollo-codegen/node_modules/yargs/yargs.js:957:21) at Object.<anonymous> (/usr/local/lib/node_modules/apollo-codegen/lib/cli.js:197:5) at Module._compile (module.js:660:30) at Object.Module._extensions..js (module.js:671:10) at Module.load (module.js:573:32) at tryModuleLoad (module.js:513:12) at Function.Module._load (module.js:505:3)
命令/bin/sh 失败,退出代码为 1
和
++ exec apollo-codegen generate --schema schema.json --output API.swift
类型错误: 无法读取未定义的属性"长度">
at Object.yargs.command.command.command.argv [as handler] (/usr/local/lib/node_modules/apollo-codegen/src/cli.js:186:17) at Object.runCommand (/usr/local/lib/node_modules/apollo-codegen/node_modules/yargs/lib/command.js:235:44) at Object.parseArgs [as _parseArgs] (/usr/local/lib/node_modules/apollo-codegen/node_modules/yargs/yargs.js:1013:30) at Object.get [as argv] (/usr/local/lib/node_modules/apollo-codegen/node_modules/yargs/yargs.js:957:21) at Object.<anonymous> (/usr/local/lib/node_modules/apollo-codegen/lib/cli.js:197:5) at Module._compile (module.js:652:30) at Object.Module._extensions..js (module.js:663:10) at Module.load (module.js:565:32) at tryModuleLoad (module.js:505:12) at Function.Module._load (module.js:497:3)
命令阶段脚本执行失败,退出代码为非零
为什么我会收到此错误?
在花了很多时间并进行搜索后,我明白了为什么会出现错误。坦克@NiltiakSivad她在 GitHub 问题讨论中的答案
阿波罗脚本尝试在具有适当查询或突变的项目文件夹中查找扩展名为.graphql的文件。如果它们不存在,您可能会像上面一样出错。我认为阿波罗团队应该在安装教程中警告他们的观众这种可能的情况!
因此,为了成功运行项目,请确保:
- 您是与阿波罗代码生成兼容的阿波罗版本
- 您正确添加了阿波罗脚本
- 项目文件夹中有schema.json
- 项目文件夹中有扩展名为.graphql的文件 包含适当的schema.json查询或突变