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

Render部署失败:无法找到express包问题排查求助

部署Render平台时出现ERR_MODULE_NOT_FOUND(express未找到)的排查方案

报错信息

throw new ERR_MODULE_NOT_FOUND(packageName, fileURLToPath(base), null);
        ^
Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'express' imported from /opt/render/project/src/server/index.js
    at Object.getPackageJSONURL (node:internal/modules/package_json_reader:268:9)
    at packageResolve (node:internal/modules/esm/resolve:768:81)
    at moduleResolve (node:internal/modules/esm/resolve:854:18)
    at defaultResolve (node:internal/modules/esm/resolve:984:11)
    at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:685:12)
    at #cachedDefaultResolve (node:internal/modules/esm/loader:634:25)
    at ModuleLoader.resolve (node:internal/modules/esm/loader:617:38)
    at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:273:38)
    at ModuleJob._link (node:internal/modules/esm/module_job:135:49) {
  code: 'ERR_MODULE_NOT_FOUND'
}

用户提供的package.json

{
  "name": "server",
  "version": "1.0.0",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "NODE_ENV=development nodemon index.js",
    "start": "NODE_ENV=production node index.js",
    "build": "cd ../client && npm install && npm run build && cd ../server"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "bcrypt": "^5.1.1",
    "cloudinary": "^2.6.0",
    "cookie-parser": "^1.4.7",
    "cors": "^2.8.5",
    "dotenv": "^16.4.7",
    "express": "^4.21.2",
    "jsonwebtoken": "^9.0.2",
    "mongoose": "^8.13.0"
  },
  "devDependencies": {
    "nodemon": "^3.1.9"
  }
}

可能的问题及解决方法

  • Render构建命令未正确安装server依赖:
    你的build脚本仅处理client端构建,但Render默认构建流程可能未在server目录执行npm install。进入Render项目的Settings -> Build & Deploy,将Build Command修改为npm install && npm run build(确保在server根目录执行);若项目根目录是包含server和client的父文件夹,则改为cd server && npm install && npm run build。

  • 依赖缓存或部署异常:
    Render可能缓存了旧的依赖状态,导致express未被正确安装。本地删除node_modules和package-lock.json,重新执行npm install后提交代码到Git;随后在Render项目页面触发Manual Deploy -> Clear cache and deploy,强制重新安装所有依赖。

  • ESM导入语法错误:
    由于项目启用了"type": "module",需检查index.js中express的导入语句是否为import express from 'express';,禁止使用CommonJS的require语法,也不要添加多余的相对路径(如./express)。

  • 部署根目录配置错误:
    若项目包含server和client两个子文件夹,而Render服务的根目录设置为父文件夹,npm install会在父目录执行,不会安装server下的依赖。调整Render服务的Root Directory为server,确保依赖安装和服务启动都在正确目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 11:09:51