繁体   English   中英

无法将 Next.js 部署到 Netlify。 由于@netlify/plugin-nextjs 插件中的错误,部署失败

[英]Cannot deploy Next.js to Netlify. Deploy failed due to an error in @netlify/plugin-nextjs plugin

我可以运行npm run build完全没有问题,但是每当我尝试将我的 Next.js 项目部署到 Netlify 时,我都会收到一个奇怪的错误,指出Deploy failed due to an error in @netlify/plugin-nextjs plugin

在做了一些研究之后,我发现我应该将@netlify/plugin-nextjs安装到我的 package.json 作为开发依赖项,然后将它添加到我已经完成的项目根目录中的 netlify.toml 中。 这是 Netlify 的支持论坛引导我访问的 github 存储库: https://github.com/netlify/netlify-plugin-nextjs

我已经按照上面的 github repo 上的说明操作了 @netlify/plugin-nextjs 插件,并在他们的 github 问题下搜索了任何相关帖子,不幸的是我在 Z272515183B4F60B 问题中找不到任何相关或有用的内容。

我试过清除缓存和部署,但没有帮助。

我用的是Next.js版本v11.1.2

这是带有详细错误的构建日志:

11:58:50 PM: Started restoring cached go cache
11:58:50 PM: Finished restoring cached go cache
11:58:50 PM: go version go1.16.5 linux/amd64
11:58:50 PM: go version go1.16.5 linux/amd64
11:58:50 PM: Installing missing commands
11:58:50 PM: Verify run directory
11:58:52 PM: ​
11:58:52 PM: ────────────────────────────────────────────────────────────────
11:58:52 PM:   Netlify Build                                                 
11:58:52 PM: ────────────────────────────────────────────────────────────────
11:58:52 PM: ​
11:58:52 PM: ❯ Version
11:58:52 PM:   @netlify/build 18.21.2
11:58:52 PM: ​
11:58:52 PM: ❯ Flags
11:58:52 PM:   baseRelDir: true
11:58:52 PM:   buildId: 618232a9499e9a000783387d
11:58:52 PM:   deployId: 618232a9499e9a000783387f
11:58:52 PM: ​
11:58:52 PM: ❯ Current directory
11:58:52 PM:   /opt/build/repo
11:58:52 PM: ​
11:58:52 PM: ❯ Config file
11:58:52 PM:   /opt/build/repo/netlify.toml
11:58:52 PM: ​
11:58:52 PM: ❯ Context
11:58:52 PM:   production
11:58:52 PM: ​
11:58:52 PM: ❯ Installing plugins
11:58:52 PM:    - @netlify/plugin-nextjs@3.9.2
11:59:02 PM: ​
11:59:02 PM: ❯ Loading plugins
11:59:02 PM:    - @netlify/plugin-nextjs@3.9.2 from netlify.toml
11:59:03 PM: ​
11:59:03 PM: ────────────────────────────────────────────────────────────────
11:59:03 PM:   1. @netlify/plugin-nextjs (onPreBuild event)                  
11:59:03 PM: ────────────────────────────────────────────────────────────────
11:59:03 PM: ​
11:59:03 PM: ​
11:59:03 PM: ────────────────────────────────────────────────────────────────
11:59:03 PM:   Plugin "@netlify/plugin-nextjs" failed                        
11:59:03 PM: ────────────────────────────────────────────────────────────────
11:59:03 PM: ​
11:59:03 PM:   Error message
11:59:03 PM:   Error: This site does not seem to be using Next.js. Please run "npm install next" in the repository.
11:59:03 PM:   If you are using a monorepo, please see the docs on configuring your site: https://ntl.fyi/next-monorepos
11:59:03 PM: ​
11:59:03 PM:   Plugin details
11:59:03 PM:   Package:        @netlify/plugin-nextjs
11:59:03 PM:   Version:        3.9.2
11:59:03 PM:   Repository:     git+https://github.com/netlify/netlify-plugin-nextjs.git
11:59:03 PM:   npm link:       https://www.npmjs.com/package/@netlify/plugin-nextjs
11:59:03 PM:   Report issues:  https://github.com/netlify/netlify-plugin-nextjs/issues
11:59:03 PM: ​
11:59:03 PM:   Error location
11:59:03 PM:   In "onPreBuild" event in "@netlify/plugin-nextjs" from netlify.toml
11:59:03 PM:       at validateNextUsage (/.netlify/plugins/node_modules/@netlify/plugin-nextjs/helpers/validateNextUsage.js:15:12)
11:59:03 PM:       at onPreBuild (/.netlify/plugins/node_modules/@netlify/plugin-nextjs/index.js:32:5)
11:59:03 PM: ​
11:59:03 PM:   Resolved config
11:59:03 PM:   build:
11:59:03 PM:     command: next build
11:59:03 PM:     commandOrigin: config
11:59:03 PM:     environment:
11:59:03 PM:       - FACEBOOK_APP_ID
11:59:03 PM:       - FACEBOOK_APP_SECRET
11:59:03 PM:       - GATSBY_STRIPE_PK
11:59:03 PM:       - NEXT_PUBLIC_FIREBASE_API_KEY
11:59:03 PM:       - NEXT_PUBLIC_FIREBASE_APPID
11:59:03 PM:       - NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN
11:59:03 PM:       - NEXT_PUBLIC_FIREBASE_DATABASE_URL
11:59:03 PM:       - NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID
11:59:03 PM:       - NEXT_PUBLIC_FIREBASE_PROJECT_ID
11:59:03 PM:       - NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET
11:59:03 PM:       - NEXT_PUBLIC_STRAPI
11:59:03 PM:       - NEXT_PUBLIC_STRAPI_DEV
11:59:03 PM:       - NEXT_PUBLIC_STRAPI_FETCH
11:59:03 PM:       - NEXT_PUBLIC_STRAPI_PROD
11:59:03 PM:       - STRAPI_API
11:59:03 PM:       - CYPRESS_CACHE_FOLDER
11:59:03 PM:     ignore: git diff --quiet $CACHED_COMMIT_REF $COMMIT_REF . ../
11:59:03 PM:     publish: /opt/build/repo/.next
11:59:03 PM:     publishOrigin: config
11:59:03 PM:   plugins:
11:59:03 PM:     - inputs: {}
11:59:03 PM:       origin: config
11:59:03 PM:       package: '@netlify/plugin-nextjs'
11:59:04 PM: Caching artifacts
11:59:04 PM: Started saving node modules
11:59:04 PM: Finished saving node modules
11:59:04 PM: Started saving build plugins
11:59:04 PM: Finished saving build plugins
11:59:04 PM: Started saving yarn cache
11:59:29 PM: Finished saving yarn cache
11:59:29 PM: Started saving pip cache
11:59:29 PM: Finished saving pip cache
11:59:29 PM: Started saving emacs cask dependencies
11:59:29 PM: Finished saving emacs cask dependencies

这是我的 package.json 文件:

{
  "name": "@minimal/minimal-kit-react",
  "author": "minimals.cc",
  "version": "2.6.0",
  "private": true,
  "scripts": {
    "dev": "next dev -p 3222",
    "build": "next build",
    "start": "next start"
  },
  "dependencies": {
    "@apollo/client": "^3.4.16",
    "@auth0/auth0-spa-js": "1.18",
    "@emotion/cache": "^11.4.0",
    "@emotion/react": "^11.4.1",
    "@emotion/server": "^11.4.0",
    "@emotion/styled": "^11.3.0",
    "@fontsource/alata": "^4.5.0",
    "@fontsource/barlow": "^4.5.0",
    "@fontsource/inter": "^4.5.0",
    "@fontsource/karla": "^4.5.0",
    "@fontsource/poppins": "^4.5.0",
    "@fontsource/public-sans": "^4.5.0",
    "@fontsource/raleway": "^4.5.0",
    "@fullcalendar/daygrid": "^5.9.0",
    "@fullcalendar/interaction": "^5.9.0",
    "@fullcalendar/list": "^5.9.0",
    "@fullcalendar/react": "^5.9.0",
    "@fullcalendar/timegrid": "^5.9.0",
    "@fullcalendar/timeline": "^5.9.0",
    "@hookform/devtools": "^4.0.1",
    "@hookform/resolvers": "^2.8.0",
    "@iconify/icons-ant-design": "^1.1.0",
    "@iconify/icons-eva": "^1.1.0",
    "@iconify/icons-ic": "^1.1.10",
    "@iconify/icons-simple-icons": "^1.1.46",
    "@material-ui/core": "^4.11.0",
    "@material-ui/data-grid": "^4.0.0-alpha.21",
    "@material-ui/icons": "^4.11.2",
    "@material-ui/lab": "^4.0.0-alpha.56",
    "@mui/icons-material": "^5.0.0",
    "@mui/lab": "^5.0.0-alpha.47",
    "@mui/material": "^5.0.0",
    "@mui/styles": "^5.0.0",
    "@mui/utils": "^5.0.0",
    "@mui/x-data-grid": "^5.0.0-beta.1",
    "@react-pdf/renderer": "^2.0.19",
    "@reduxjs/toolkit": "^1.6.1",
    "@stripe/react-stripe-js": "^1.5.0",
    "@stripe/stripe-js": "^1.18.0",
    "@testing-library/jest-dom": "^5.14.1",
    "@testing-library/react": "^12.1.0",
    "@testing-library/user-event": "^13.2.1",
    "@turf/bbox": "^6.5.0",
    "amazon-cognito-identity-js": "^5.1.0",
    "animejs": "^3.2.1",
    "apexcharts": "^3.28.3",
    "autosuggest-highlight": "^3.1.1",
    "axios": "^0.21.4",
    "axios-mock-adapter": "^1.20.0",
    "change-case": "^4.1.2",
    "d3-array": "^3.0.2",
    "d3-scale": "^4.0.0",
    "date-fns": "^2.24.0",
    "deck.gl": "^8.5.8",
    "dotenv": "^10.0.0",
    "draft-js": "^0.11.7",
    "draftjs-to-html": "^0.9.1",
    "emoji-mart": "^3.0.0",
    "firebase": "^8.10.0",
    "formik": "^2.2.9",
    "framer-motion": "^4.1.17",
    "fs": "^0.0.1-security",
    "graphql": "^15.7.1",
    "highlight.js": "^11.3.1",
    "history": "^5.0.1",
    "i18next": "^20.6.1",
    "i18next-browser-languagedetector": "^6.1.2",
    "immutable": "^4.0.0-rc.14",
    "jsonwebtoken": "^8.5.1",
    "jwt-decode": "^3.1.2",
    "lazysizes": "^5.3.2",
    "lodash": "^4.17.21",
    "lowlight": "^2.4.0",
    "madge": "^5.0.1",
    "mapbox-gl": "^2.4.1",
    "next": "^11.1.2",
    "notistack": "^1.0.6-next.3",
    "nprogress": "^0.2.0",
    "numeral": "^2.0.6",
    "pnp-webpack-plugin": "^1.7.0",
    "process": "^0.11.10",
    "prop-types": "^15.7.2",
    "react": "17.0.2",
    "react-apexcharts": "^1.3.9",
    "react-beautiful-dnd": "^13.1.0",
    "react-copy-to-clipboard": "^5.0.4",
    "react-dom": "17.0.2",
    "react-draft-wysiwyg": "^1.14.7",
    "react-dropzone": "^11.4.0",
    "react-helmet-async": "^1.1.2",
    "react-highlight": "^0.14.0",
    "react-hook-form": "^7.15.3",
    "react-i18next": "^11.12.0",
    "react-image-lightbox": "^5.1.4",
    "react-infinite-scroll-component": "^6.1.0",
    "react-intersection-observer": "^8.32.1",
    "react-lottie": "^1.2.3",
    "react-map-gl": "^6.1.17",
    "react-markdown": "^7.1.0",
    "react-quill": "^2.0.0-beta.4",
    "react-redux": "^7.2.5",
    "react-resize-aware": "^3.1.1",
    "react-scripts": "^4.0.1",
    "react-scroll": "^1.8.4",
    "react-slick": "^0.28.0",
    "react-spring": "^9.2.4",
    "redux": "^4.1.1",
    "redux-persist": "^6.0.0",
    "rehype-highlight": "^5.0.0",
    "rehype-raw": "^6.1.0",
    "simplebar": "^5.3.5",
    "simplebar-react": "^2.3.5",
    "slick-carousel": "^1.8.1",
    "stylis": "^4.0.10",
    "stylis-plugin-rtl": "^2.0.2",
    "typescript": "^4.3.5",
    "uuid": "^8.3.2",
    "worker-loader": "^3.0.8",
    "yup": "^0.32.9"
  },
  "devDependencies": {
    "@babel/core": "^7.15.8",
    "@babel/eslint-parser": "^7.15.4",
    "@babel/preset-react": "^7.14.5",
    "@iconify/icons-fa-solid": "^1.1.1",
    "@iconify/react": "^3.0.1",
    "@netlify/plugin-nextjs": "^4.0.0-beta.5",
    "@types/node": "^16.7.13",
    "@typescript-eslint/eslint-plugin": "^4.31.0",
    "@typescript-eslint/parser": "^4.31.0",
    "eslint": "^7.32.0",
    "eslint-config-airbnb": "^18.2.1",
    "eslint-config-airbnb-typescript": "^14.0.0",
    "eslint-config-prettier": "^8.3.0",
    "eslint-config-wesbos": "2.1.0",
    "eslint-plugin-html": "^6.1.2",
    "eslint-plugin-import": "^2.24.2",
    "eslint-plugin-jsx-a11y": "^6.4.1",
    "eslint-plugin-prettier": "^4.0.0",
    "eslint-plugin-react": "^7.25.1",
    "eslint-plugin-react-hooks": "^4.2.0",
    "graphql": "latest",
    "prettier": "^2.3.2",
    "typescript": "^4.4.2"
  }
}

这是我的 netlify.toml:

[build]
publish = ".next"

[[plugins]]
package = "@netlify/plugin-nextjs"

我有同样的问题。 从 Netlify 的插件选项卡中删除 @netlify/plugin-nextjs 为我解决了这个问题。 我删除了插件并触发了新的部署。

我遇到了同样的问题,我通过从 Netlify 的插件选项卡更新插件解决了这个问题。

就我而言,解决方案是禁用插件,然后重新启用它。 禁用该插件暂时破坏了我的网站,因为它需要运行 Next.js,但这是我可以让我的部署成功的唯一方法。

我尝试过的其他方法不起作用:

  • 重新构建 node_modules
  • 更新 package-lock.json
  • 触发没有缓存的重新部署

如果您使用 monorepo 来解决此问题,请转到您站点的部署设置并在构建设置下将发布目录更改为

[subdir]/.next

其中 [subdir] 是您的下一个项目所在的子目录。

在明确更改并再次部署之后

我也遇到过同样的问题。 我尝试将NETLIFY_NEXT_PLUGIN_SKIP= "TRUE"添加到环境变量中,它对我有用

第一个在您的项目文件夹 cmd 或 git bash 运行(纱线构建)然后转到 netlify 构建设置并更改(构建命令:下一个构建)这个过程对我有用

删除netlify.toml文件,让 netlify 使用默认的 npm 运行构建

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM