Vercel:错误:在您的项目中无法检测到 Next.js 版本。确保“next”安装在“dependencies”或“devDependencies”中

问题描述 投票:0回答:2

真的很奇怪,在开发环境中,相同的版本刚刚发布到 Vercel,但没有发布到产品中。为什么?从 Vercel 收到此错误。我尝试了

Redeploy
没有帮助。我也尝试删除
yarn.lock
没有帮助。

[2/4] Fetching packages...
00:47:05.127    error [email protected]: The engine "node" is incompatible with this module. Expected version ">=16". Got "14.20.0"
00:47:05.128    error Found incompatible module.
00:47:05.128    info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
00:47:05.163    Warning: Could not identify Next.js version, ensure it is defined as a project dependency.
00:47:05.226    Error: No Next.js version could be detected in your project. Make sure `"next"` is installed in "dependencies" or "devDependencies"

还有我的

package.json

{
    "name": "tikex",
    "version": "0.1.0",
    "private": true,
    "scripts": {
        "dev": "NODE_OPTIONS='--inspect' next dev",
        "build": "next build",
        "start": "next start",
        "lint": "next lint",
        "test": "cypress open",
        "vercel-build": "yum install libuuid-devel libmount-devel zlib && cp /lib64/{libuuid,libmount,libblkid,libz}.so.1 node_modules/canvas/build/Release/ && next build"
    },
    "dependencies": {
        "@date-io/date-fns": "^2.14.0",
        "@ffmpeg-installer/ffmpeg": "^1.1.0",
        "@ffmpeg/core": "^0.10.0",
        "@ffmpeg/ffmpeg": "^0.10.1",
        "@ffprobe-installer/ffprobe": "^1.4.1",
        "@fortawesome/fontawesome-common-types": "^6.1.1",
        "@fortawesome/fontawesome-svg-core": "^6.1.1",
        "@fortawesome/free-solid-svg-icons": "^6.1.1",
        "@fortawesome/react-fontawesome": "^0.1.18",
        "@napi-rs/canvas": "^0.1.29",
        "@next/bundle-analyzer": "^12.1.6",
        "@react-hookz/web": "^14.3.0",
        "@reduxjs/toolkit": "^1.8.2",
        "@styled-system/css": "^5.1.5",
        "accounting": "^0.4.1",
        "accounting-js": "^1.1.1",
        "axios": "^0.27.2",
        "bip32": "^3.0.1",
        "canvas": "^2.10.1",
        "cors": "^2.8.5",
        "cross-env": "^7.0.3",
        "crypto-js": "^4.1.1",
        "date-fns": "^2.28.0",
        "date-fns-tz": "^1.3.5",
        "detect-browser-language": "^0.0.2",
        "draft-js": "^0.11.7",
        "ffmpeg-static": "^5.1.0",
        "fluent-ffmpeg": "^2.1.2",
        "gif.js": "^0.2.0",
        "gifencoder": "^2.0.1",
        "heic-convert": "^1.2.4",
        "jquery": "^3.6.0",
        "konva": "^8.3.10",
        "next": "13.0.0",
        "next-absolute-url": "^1.2.2",
        "next-redux-wrapper": "^8.0.0",
        "prettier": "^2.7.1",
        "qrcode.react": "^3.1.0",
        "react": "18.2.0",
        "react-calendar": "^3.7.0",
        "react-clock": "^3.1.0",
        "react-copy-to-clipboard": "^5.1.0",
        "react-country-region-selector": "^3.4.0",
        "react-countup": "^6.3.0",
        "react-csv": "^2.2.2",
        "react-date-picker": "^8.4.0",
        "react-date-range": "^1.4.0",
        "react-datetime-picker": "^3.5.0",
        "react-dom": "18.2.0",
        "react-facebook-login": "^4.1.1",
        "react-ga": "^3.3.1",
        "react-google-login": "^5.2.2",
        "react-icons": "^4.4.0",
        "react-image-file-resizer": "^0.4.8",
        "react-konva": "^18.2.1",
        "react-leaf-carousel": "^3.0.0",
        "react-messenger-customer-chat": "^0.8.0",
        "react-meta-tags": "^1.0.1",
        "react-multi-carousel": "^2.8.2",
        "react-parallax": "^3.5.1",
        "react-player": "^2.10.1",
        "react-qr-reader": "3.0.0-beta-1",
        "react-quill": "^1.3.5",
        "react-redux": "^8.0.2",
        "react-responsive-carousel": "^3.2.23",
        "react-scroll": "^1.8.7",
        "react-scroll-parallax": "^3.2.0",
        "react-select": "^5.3.2",
        "react-svg-tooltip": "^0.0.11",
        "react-textarea-autosize": "^8.3.4",
        "react-time-picker": "^4.5.0",
        "react-visibility-sensor": "^5.1.1",
        "redux": "^4.2.0",
        "sass": "^1.53.0",
        "sharp": "^0.30.7",
        "styled-icons": "^10.45.0",
        "styled-system": "^5.1.5",
        "styled-system-html": "^3.0.0",
        "use-axios-client": "^2.0.0",
        "use-image": "^1.0.12",
        "uuidv4": "^6.2.13",
        "yup": "^0.32.11"
    },
    "devDependencies": {
        "@types/accounting": "^0.4.2",
        "@types/cors": "^2.8.12",
        "@types/crypto-js": "^4.1.1",
        "@types/debounce": "^1.2.1",
        "@types/gif.js": "^0.2.2",
        "@types/gifencoder": "^2.0.1",
        "@types/gtag.js": "^0.0.12",
        "@types/node": "^18.11.7",
        "@types/react": "^18.0.23",
        "@types/react-copy-to-clipboard": "^5.0.2",
        "@types/react-csv": "^1.1.3",
        "@types/react-date-range": "^1.4.3",
        "@types/react-datetime-picker": "^3.4.1",
        "@types/react-qr-reader": "^2.1.4",
        "@types/react-redux": "^7.1.24",
        "cypress": "^10.2.0",
        "eslint": "8.18.0",
        "eslint-config-next": "12.1.6",
        "typescript": "^4.7.4"
    }
}
reactjs next.js vercel
2个回答
0
投票

问题是“ffmpeg-static”包需要Node版本v16+,而您提供的版本是v14。

尝试通过托管平台更改 Node 版本,或者通过以下方式在“package.json”文件中指定节点版本:

package.json:

{
  ...
  "engines": {
    ...
    "node": "16.X"
  }
}


0
投票

如果您在 Vercel 部署期间仍然遇到此问题,则根本问题可能是:“npm ERR!退出处理程序从未调用” npm Err 退出处理程序从未调用过

对我有用的解决方案: 删除:

package-lock.json
文件并进行下一步部署。

调试步骤: 暂时覆盖 Vercel 部署脚本以查看更多日志:

我还添加了

pre
post
安装脚本来打印更多日志:

"preinstall": "echo 'Preinstall - Checking dependencies...' && cat package.json"
"postinstall": "echo 'Postinstall - Listing installed dependencies:' && npm ls",
© www.soinside.com 2019 - 2024. All rights reserved.