I am trying to host my express application. Nothing complex. Just an express server serving html files on different routes but the log says
node:internal/modules/cjs/loader:1372
throw err;
^
Error: Cannot find module 'express'
Require stack:
- /opt/render/project/src/server.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1369:15)
at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19)
at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22)
at Module._load (node:internal/modules/cjs/loader:1179:37)
at TracingChannel.traceSync (node:diagnostics_channel:322:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:235:24)
at Module.require (node:internal/modules/cjs/loader:1449:12)
at require (node:internal/modules/helpers:135:16)
at Object.<anonymous> (/opt/render/project/src/server.js:1:17)
at Module._compile (node:internal/modules/cjs/loader:1692:14) {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/opt/render/project/src/server.js' ]
}
Node.js v24.4.1
My package.json file has express mentioned explicitly as a dependency:
{
"name": " ",
"version": "1.0.0",
"description": " ",
"main": "server.js",
"scripts": {
"start": "node server.js",
"dev": "nodemon server.js"
},
"dependencies": {
"express": "^4.18.2",
"path": "^0.12.7"
},
"devDependencies": {
"nodemon": "^3.1.10"
},
"engines": {
"node": ">=18.0.0"
},
"keywords": [
" ",
" ",
" "
],
"author": " ",
"license": "MIT"
}
- I have removed some values for privacy. There are no empty strings in the original file.
Please help