You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在render.com部署Node.js应用报错:node引擎与模块版本不兼容

解决Render部署Node.js应用时的Mongoose版本兼容报错

你的报错原因是:Render当前使用的Node.js版本为14.17.0,而你安装的mongoose@7.2.2要求Node.js版本必须≥14.20.1,版本不匹配导致依赖安装失败。

以下是两种可行的解决办法:

方法一:指定Render使用符合要求的Node.js版本

你可以通过两种方式让Render使用更高版本的Node.js:

  • 在项目根目录创建 .nvmrc 文件,写入满足要求的Node.js版本号,例如:
    16.20.0
    
  • 或者直接在 package.json 中添加 engines 字段,明确指定Node.js版本范围,修改后的package.json如下:
    {
      "dependencies": {
        "cors": "^2.8.5",
        "crypto": "^1.0.1",
        "dotenv": "^16.1.3",
        "express": "^4.18.2",
        "mongoose": "^7.2.2",
        "nodemon": "^2.0.22"
      },
      "name": "shop",
      "version": "1.0.0",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",
        "start": "node index.js"
      },
      "engines": {
        "node": ">=14.20.1"
      },
      "author": "",
      "license": "ISC",
      "description": ""
    }
    

提交修改后的代码到仓库,重新触发Render部署即可,平台会自动识别并使用指定版本的Node.js。

方法二:降级Mongoose版本

若不想升级Node.js,可将Mongoose降级到兼容Node.js 14.17.0的版本,比如Mongoose 6.x系列(该系列支持Node.js 12.20.0及以上版本):

  • 执行命令安装指定版本:
    npm install mongoose@6.11.3
    
  • 此时你的 package.json 中mongoose依赖会更新为 "mongoose": "^6.11.3",提交代码后重新部署即可解决兼容问题。

内容的提问来源于stack exchange,提问作者Saurabh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 13:02:21