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

Handlebars部署报错:找不到node:path模块

问题

用Handlebars在Node.js开发的小型表单,本地运行正常,部署到render.com后,执行const exphbs = require('express-handlebars');时报错,错误信息如下:

Error: Cannot find module 'node:path'
Mar 15 07:29:59 PM  Require stack:
Mar 15 07:29:59 PM  - /opt/render/project/src/node_modules/express-handlebars/dist/express-handlebars.js
Mar 15 07:29:59 PM  - /opt/render/project/src/node_modules/express-handlebars/dist/index.js
Mar 15 07:29:59 PM  - /opt/render/project/src/src/index.js
Mar 15 07:29:59 PM      at Function.Module._resolveFilename (internal/modules/cjs/loader.js:885:15)
Mar 15 07:29:59 PM      at Function.Module._load (internal/modules/cjs/loader.js:730:27)
Mar 15 07:29:59 PM      at Module.require (internal/modules/cjs/loader.js:957:19)
Mar 15 07:29:59 PM      at require (internal/modules/cjs/helpers.js:88:18)
Mar 15 07:29:59 PM      at Object.<anonymous> (/opt/render/project/src/node_modules/express-handlebars/dist/express-handlebars.js:19:14)
Mar 15 07:29:59 PM      at Module._compile (internal/modules/cjs/loader.js:1068:30)
Mar 15 07:29:59 PM      at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
Mar 15 07:29:59 PM      at Module.load (internal/modules/cjs/loader.js:933:32)
Mar 15 07:29:59 PM      at Function.Module._load (internal/modules/cjs/loader.js:774:14)
Mar 15 07:29:59 PM      at Module.require (internal/modules/cjs/loader.js:957:19) {
Mar 15 07:29:59 PM    code: 'MODULE_NOT_FOUND',
Mar 15 07:29:59 PM    requireStack: [
Mar 15 07:29:59 PM      '/opt/render/project/src/node_modules/express-handlebars/dist/express-handlebars.js',
Mar 15 07:29:59 PM      '/opt/render/project/src/node_modules/express-handlebars/dist/index.js',
Mar 15 07:29:59 PM      '/opt/render/project/src/src/index.js'
Mar 15 07:29:59 PM    ]
Mar 15 07:29:59 PM  }

已安装path模块,部署平台为render.com。

解决方案

问题根源

node:path这种带前缀的模块导入语法是Node.js 16.0.0之后才支持的特性,而你在render.com上使用的Node.js版本低于这个要求,所以导致express-handlebars依赖的模块无法被找到。

修复方法

  1. 指定Node.js版本:在项目根目录新建.nvmrc文件,写入你本地开发用的Node.js版本号(例如v18.17.0),render.com部署时会自动读取该文件并使用对应版本的Node.js。
  2. 降级express-handlebars:如果不想升级Node.js,可安装不使用node:path的旧版本,执行命令:
    npm install express-handlebars@6.0.0 --save
    
    安装完成后重新部署即可。
  3. 手动配置render环境:登录render.com进入项目设置,在环境变量中添加NODE_VERSION,值设为你需要的Node.js版本号,保存后重新部署项目。

内容的提问来源于stack exchange,提问作者Jesus Zuniga Amador

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 11:53:14