错误:找不到模块“gatsby-plugin-image/graphql-utils”

时间:2021-04-15 20:37:35

标签: reactjs gatsby netlify gatsby-plugin

所以我正在尝试在 Netlify 中运行我的测试博客,但出现以下错误。 不知道怎么回事

9:27:11 PM: error "gatsby-source-contentful" threw an error while running the setFieldsOnGraphQLNodeType lifecycle:
9:27:11 PM: Cannot find module 'gatsby-plugin-image/graphql-utils'
9:27:11 PM: Require stack:
9:27:11 PM: - /opt/build/repo/node_modules/gatsby-source-contentful/extend-node-type.js
9:27:11 PM: - /opt/build/repo/node_modules/gatsby-source-contentful/gatsby-node.js
9:27:11 PM: - /opt/build/repo/node_modules/gatsby/dist/bootstrap/load-plugins/validate.js
9:27:11 PM: - /opt/build/repo/node_modules/gatsby/dist/bootstrap/load-plugins/load.js
9:27:11 PM: - /opt/build/repo/node_modules/gatsby/dist/bootstrap/load-plugins/index.js
9:27:11 PM: - /opt/build/repo/node_modules/gatsby/dist/services/initialize.js
9:27:11 PM: - /opt/build/repo/node_modules/gatsby/dist/services/index.js
9:27:11 PM: - /opt/build/repo/node_modules/gatsby/dist/bootstrap/index.js
9:27:11 PM: - /opt/build/repo/node_modules/gatsby/dist/commands/build.js
9:27:11 PM: - /opt/build/repo/node_modules/gatsby-cli/lib/create-cli.js
9:27:11 PM: - /opt/build/repo/node_modules/gatsby-cli/lib/index.js
9:27:11 PM: - /opt/build/repo/node_modules/gatsby/dist/bin/gatsby.js
9:27:11 PM: - /opt/build/repo/node_modules/gatsby/cli.js
9:27:11 PM: 
9:27:11 PM: 
9:27:11 PM:   Error: Cannot find module 'gatsby-plugin-image/graphql-utils'
9:27:11 PM:   Require stack:
9:27:11 PM:   - /opt/build/repo/node_modules/gatsby-source-contentful/extend-node-type.js
9:27:11 PM:   - /opt/build/repo/node_modules/gatsby-source-contentful/gatsby-node.js
9:27:11 PM:   - /opt/build/repo/node_modules/gatsby/dist/bootstrap/load-plugins/validate.js
9:27:11 PM:   - /opt/build/repo/node_modules/gatsby/dist/bootstrap/load-plugins/load.js
9:27:11 PM:   - /opt/build/repo/node_modules/gatsby/dist/bootstrap/load-plugins/index.js
9:27:11 PM:   - /opt/build/repo/node_modules/gatsby/dist/services/initialize.js
9:27:11 PM:   - /opt/build/repo/node_modules/gatsby/dist/services/index.js
9:27:11 PM:   - /opt/build/repo/node_modules/gatsby/dist/bootstrap/index.js
9:27:11 PM:   - /opt/build/repo/node_modules/gatsby/dist/commands/build.js
9:27:11 PM:   - /opt/build/repo/node_modules/gatsby-cli/lib/create-cli.js
9:27:11 PM:   - /opt/build/repo/node_modules/gatsby-cli/lib/index.js
9:27:11 PM:   - /opt/build/repo/node_modules/gatsby/dist/bin/gatsby.js
9:27:11 PM:   - /opt/build/repo/node_modules/gatsby/cli.js
9:27:11 PM:   
9:27:11 PM:   - loader.js:966 Function.Module._resolveFilename
9:27:11 PM:     internal/modules/cjs/loader.js:966:15
9:27:11 PM:   
9:27:11 PM:   - loader.js:842 Function.Module._load
9:27:11 PM:     internal/modules/cjs/loader.js:842:27
9:27:11 PM:   
9:27:11 PM:   - loader.js:1026 Module.require
9:27:11 PM:     internal/modules/cjs/loader.js:1026:19
9:27:11 PM:   
9:27:11 PM:   - v8-compile-cache.js:159 require
9:27:11 PM:     [repo]/[v8-compile-cache]/v8-compile-cache.js:159:20
9:27:11 PM:   
9:27:11 PM:   - extend-node-type.js:817 getGatsbyImageData
9:27:11 PM:     [repo]/[gatsby-source-contentful]/extend-node-type.js:817:9
9:27:11 PM:   
9:27:11 PM:   - extend-node-type.js:873 Object.exports.extendNodeType [as setFieldsOnGraphQL    NodeType]
9:27:11 PM:     [repo]/[gatsby-source-contentful]/extend-node-type.js:873:22
9:27:11 PM:   
9:27:11 PM:   - api-runner-node.js:434 runAPI
9:27:11 PM:     [repo]/[gatsby]/src/utils/api-runner-node.js:434:22
9:27:11 PM:   
9:27:11 PM:   - api-runner-node.js:585 Promise.catch.decorateEvent.pluginName
9:27:11 PM:     [repo]/[gatsby]/src/utils/api-runner-node.js:585:13
9:27:11 PM:   
9:27:11 PM:   - debuggability.js:384 Promise._execute
9:27:11 PM:     [repo]/[bluebird]/js/release/debuggability.js:384:9
9:27:11 PM:   
9:27:11 PM:   - promise.js:518 Promise._resolveFromExecutor
9:27:11 PM:     [repo]/[bluebird]/js/release/promise.js:518:18
9:27:11 PM:   
9:27:11 PM:   - promise.js:103 new Promise
9:27:11 PM:     [repo]/[bluebird]/js/release/promise.js:103:10
9:27:11 PM:   
9:27:11 PM:   - api-runner-node.js:583 
9:27:11 PM:     [repo]/[gatsby]/src/utils/api-runner-node.js:583:16
9:27:11 PM:   
9:27:11 PM:   - util.js:16 tryCatcher
9:27:11 PM:     [repo]/[bluebird]/js/release/util.js:16:23
9:27:11 PM:   
9:27:11 PM:   - reduce.js:166 Object.gotValue
9:27:11 PM:     [repo]/[bluebird]/js/release/reduce.js:166:18
9:27:11 PM:   
9:27:11 PM:   - reduce.js:155 Object.gotAccum
9:27:11 PM:     [repo]/[bluebird]/js/release/reduce.js:155:25
9:27:11 PM:   
9:27:11 PM:   - util.js:16 Object.tryCatcher
9:27:11 PM:     [repo]/[bluebird]/js/release/util.js:16:23
9:27:11 PM:   
9:27:11 PM: 
9:27:11 PM: not finished building schema - 0.490s

我可以在开发模式下运行,就在我尝试上线时出现此错误, 我已经检查过这个“模块”我在我的项目的“节点模块”中有它们,我不知道为什么在 Netlify 上找不到。

这是我的gatsby-config.js

{
  "name": "gatsby-starter-hello-world",
  "private": true,
  "description": "A simplified bare-bones starter for Gatsby",
  "version": "0.1.0",
  "license": "0BSD",
  "scripts": {
    "build": "gatsby build",
    "develop": "env-cmd -f .env gatsby develop",
    "format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md}\"",
    "start": "npm run develop",
    "serve": "gatsby serve",
    "clean": "gatsby clean",
    "test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1"
  },
  "dependencies": {
    "@contentful/rich-text-react-renderer": "^14.1.3",
    "@contentful/rich-text-types": "^14.1.2",
    "formik": "^2.2.6",
    "gatsby": "^3.3.0",
    "gatsby-plugin-postcss": "^4.3.0",
    "gatsby-plugin-react-helmet": "^4.3.0",
    "gatsby-plugin-sass": "^4.3.0",
    "gatsby-plugin-sharp": "^3.3.0",
    "gatsby-remark-images": "^5.0.0",
    "gatsby-source-contentful": "^5.3.0",
    "gatsby-source-filesystem": "^3.3.0",
    "gatsby-transformer-remark": "^4.0.0",
    "node-sass": "^5.0.0",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-helmet": "^6.1.0",
    "yup": "^0.32.9"
  },
  "devDependencies": {
    "prettier": "2.2.1"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/gatsbyjs/gatsby-starter-hello-world"
  },
  "bugs": {
    "url": "https://github.com/gatsbyjs/gatsby/issues"
  }
}


谢谢 内托

2 个答案:

答案 0 :(得分:3)

假设您的项目在本地正确构建,这种问题 99% 与 Node 版本不匹配有关,因此最终安装的构建依赖项。

运行这个命令:

node -v > .nvmrc

这将在您项目的根目录中创建一个 .nvmrc 文件,其中包含 Node 版本 (node -v)。 Netlify 在部署过程中将读取该文件并基于该版本构建 Node 构建配置,正如您可以从 docs 中读取的那样。

答案 1 :(得分:3)

当我遇到这个问题时,我发现添加新包 gatsby-plugin-image 修复了它。 README for gatsby-source-contentful 有一个部分解释了如何使用这个新插件以及内容丰富的插件。您可能还需要添加 gatsby-plugin-sharp,正如文档中提到的那样。

添加新包

npm install gatsby-plugin-image gatsby-plugin-sharp

yarn add gatsby-plugin-image gatsby-plugin-sharp