如何解决意外的类型:为AWS Amplify Datastore生成模型时的__Schema 我尝试过:
我已经设置了一个webpack / react项目以使用AWS Amplify进行身份验证,并且我正在遵循
AWS Amplify DataStore Getting Started Guide
设置对数据存储区的graphql API的访问权限,但是当我尝试使用yarn amplify-modelgen
或amplify codegen models
生成模型文件时,我收到错误Unexpected type: __Schema
,并且没有将模型生成到{{1 }}目录。
我尝试过:
- 使用“入门指南”中的示例架构以及下面的自定义schema.graphql生成模型,并且都返回相同的错误。
- 删除node_modules,yarn.lock并运行
/Users/username/Projects/project/src/models
- 已确认我的
yarn cache clean
文件夹中没有graphql目录 - 在package.json中添加“分辨率”以指定我在node_modules文件夹中拥有的graphql版本
- 试图从我的客户项目和我的yarn全局软件包中删除graphql npm软件包。以下是我的
/Users/username/Projects/project/node_modules
和package.json,但我相信@ aws-amplify / cli npm软件包将其用作依赖项。
我不确定还有什么尝试的方法,我们将不胜感激。以下是一些相关文件,如果需要,我可以提供更多文件。
当我将NODE_ENV环境变量设置为yarn global list
时,我也遇到了错误,但是通过将我的NODE_ENV设置为NODE_ENV=development
可以解决此错误,但是我相信这可能是相关的。
NODE_ENV=production
运行Ensure that there is only one instance of "graphql" in the node_modules
directory. If different versions of "graphql" are the dependencies of other
relied on modules,use "resolutions" to ensure only one version is installed.
或yarn amplify-modelgen
时出错
amplify codegen models
path / to / project / amplify / backend / api / project / schema.graphql
$ yarn amplify-modelgen
yarn run v1.22.5
$ node amplify/scripts/amplify-modelgen.js
Running codegen...
The following types do not have '@auth' enabled. Consider using @auth with @model
- Hl7v2
Learn more about @auth here: https://docs.amplify.aws/cli/graphql-transformer/directives#auth
GraphQL schema compiled successfully.
Edit your schema at /Users/username/Projects/project/amplify/backend/api/projectname/schema.graphql or place .graphql files in a directory at /Users/username/Projects/project/amplify/backend/api/projectname/schema
Unexpected type: __Schema
Error: Unexpected type: __Schema
at invariant (/Users/username/.config/yarn/global/node_modules/@graphql-tools/utils/node_modules/graphql/jsutils/invariant.js:12:11)
at Object.printType (/Users/username/.config/yarn/global/node_modules/@graphql-tools/utils/node_modules/graphql/utilities/schemaPrinter.js:147:26)
at correctType (/Users/username/.config/yarn/global/dist/utils/src/print-schema-with-directives.js:48:23)
at Object.printSchemaWithDirectives (/Users/username/.config/yarn/global/dist/utils/src/print-schema-with-directives.js:15:33)
at Object.exports.plugin (/Users/username/.config/yarn/global/node_modules/amplify-codegen/node_modules/amplify-codegen-appsync-model-plugin/src/plugin.ts:44:23)
at Object.executePlugin (/Users/username/.config/yarn/global/node_modules/amplify-codegen/node_modules/@graphql-codegen/core/src/execute-plugin.ts:54:12)
at /Users/username/.config/yarn/global/node_modules/amplify-codegen/node_modules/@graphql-codegen/core/src/codegen.ts:74:28
at Array.map (<anonymous>)
at Object.codegen (/Users/username/.config/yarn/global/node_modules/amplify-codegen/node_modules/@graphql-codegen/core/src/codegen.ts:61:21)
at /Users/username/.config/yarn/global/node_modules/amplify-codegen/src/commands/models.js:54:23
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
纱线全局列表
type Hl7v2 @model {
messageId: ID!
messageType: String
messageVersion: String
sendingAppName: String
sendingFacilityName: String
receivingAppName: String
receivingFacilityName: String
dateOfMessage: String
messageControlId: String
processingId: String
messageString: String
segments: [String]
}
type User @model @auth(rules: [{ allow: owner }]) {
userId: ID!
createdAt: AWSDateTime!
updatedAt: AWSDateTime!
email: String!
clientId: String!
organizationName: String
firstName: String
lastName: String
street1: String
street2: String
city: String
state: String
zip: String
country: String
phone: String
apiCredentials: [ApiCredential]
billingId: String
requestHistory: String
}
type ApiCredential {
createdAt: AWSDateTime!
updatedAt: AWSDateTime!
credentialId: ID!
type: String!
subscriptionPlan: String
subscriptionStatus: String
appId: String
appSecret: String
}
package.json依赖项
yarn global v1.22.5
warning mini-css-extract-plugin@0.5.0: Invalid bin field for "mini-css-extract-plugin".
info "@aws-amplify/cli@4.30.0" has binaries:
- amplify
info "create-react-app@3.4.1" has binaries:
- create-react-app
info "eslint@6.8.0" has binaries:
- eslint
info "expo-cli@3.28.2" has binaries:
- expo
- expo-cli
info "firebase-tools@8.13.1" has binaries:
- firebase
info "flow-typed@2.6.2" has binaries:
- flow-typed
info "ignite-cli@3.5.3" has binaries:
- ignite
info "meta@2.2.14" has binaries:
- meta
info "node-gyp@5.1.1" has binaries:
- node-gyp
info "now@12.1.14" has binaries:
- now
info "npm-check-updates@2.15.0" has binaries:
- npm-check-updates
- ncu
info "prettier@1.19.1" has binaries:
- prettier
info "react-devtools@3.6.3" has binaries:
- react-devtools
info "react-native-cli@2.0.1" has binaries:
- react-native
info "serverless@2.8.0" has binaries:
- serverless
- sls
info "typescript@3.9.7" has binaries:
- tsc
- tsserver
✨ Done in 50.90s.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。