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

O2Switch主机Node.js项目报Cannot find module 'express'问题求助

解决Node.js部署时"Cannot find module 'express'"的问题
  • 核对运行路径与依赖安装路径
    O2Switch这类共享主机常出现路径匹配问题,要确认Node.js服务启动时的工作目录和项目根目录(含node_modules、package.json的目录)一致。可以修改启动脚本,先切换到项目目录再启动服务,比如:cd /你的项目绝对路径 && node server.js,避免因路径错误导致找不到模块。

  • 统一本地与服务器的Node.js/npm版本
    本地和服务器的Node.js、npm版本差异可能引发依赖兼容问题。先在服务器执行node -v和npm -v查看版本,和本地对比。如果版本差距大,删除项目根目录的package-lock.json,然后在服务器重新执行npm install,必要时加--force强制安装。

  • 排查模块查找路径
    在Node.js入口文件顶部添加代码,打印模块查找路径,确认是否包含项目的node_modules:

    console.log('模块查找路径:', module.paths);
    

    重启服务后查看日志,如果项目node_modules不在输出路径里,手动添加路径:

    const path = require('path');
    module.paths.push(path.join(__dirname, 'node_modules'));
    
  • 验证express的实际安装位置
    登录服务器进入项目根目录,执行ls node_modules/express,确认该目录存在。如果不存在,可能是安装时权限不足,尝试用sudo npm install express --save(有sudo权限的话),或者检查项目目录的读写权限,确保npm能正常写入依赖文件。

  • 检查O2Switch主机的Node.js配置
    部分共享主机需要在控制面板指定Node.js的启动文件和工作目录,确认主机面板里的配置是否指向正确的项目根目录和入口文件(比如server.js、app.js)。另外,O2Switch可能需要开启特定运行模式(如Passenger),核对面板里的相关配置项是否正确设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 22:30:51