Error: Cannot find module 'gatsby-plugin-image/graphql-utils'

Error: Cannot find module 'gatsby-plugin-image/graphql-utils'

所以我正在尝试 运行 我在 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"
  }
}


谢谢 内托

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

运行 这个命令:

node -v > .nvmrc

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

中读取的那样

当我 运行 解决这个问题时,我发现添加新包 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