在GoDaddy共享主机部署Node.js+React站点遇模块缺失错误求助
解决GoDaddy共享主机上Node.js应用部署启动错误
错误原因分析
你执行的node run是错误命令:Node.js会将run当作要执行的文件名/模块名,但你的目录中不存在名为run的文件或模块,因此抛出MODULE_NOT_FOUND错误。
解决方案步骤
1. 使用正确的Node.js启动命令
- 若项目有
package.json,查看其中的scripts配置,用npm run <脚本名>启动。例如:- 如果
package.json有如下配置:
则执行命令:{ "scripts": { "start": "node server.js" } }npm run start(或简化为npm start)
- 如果
- 若无
package.json,直接执行入口文件:node server.js(将server.js替换为你的后端实际入口文件名,比如app.js)
2. 适配GoDaddy共享主机的Node.js部署要求
- 加载NVM环境:由于你用NVM安装Node.js,每次登录cPanel终端时,先执行
source ~/.nvm/nvm.sh确保Node环境生效,也可将该命令添加到~/.bashrc文件中实现自动加载。 - cPanel Node.js应用配置:
- 在cPanel的Node.js管理器中,指定与NVM安装一致的Node版本。
- 确认入口文件路径正确,建议将后端文件放在
public_html的子目录(比如public_html/api),避免直接放在根目录。 - 共享主机无法直接使用80/443端口,需使用cPanel分配的端口,并通过
.htaccess配置反向代理转发请求,示例配置:
(将RewriteEngine On RewriteRule ^api/(.*)$ http://localhost:3000/$1 [P,L]3000替换为你的Node服务实际端口)
3. 基础排查动作
- 进入后端项目目录,执行
ls命令确认入口文件存在。 - 执行
node -v确认Node版本正确加载。 - 执行
cat package.json检查scripts配置是否正确。
内容的提问来源于stack exchange,提问作者vishal
相关产品推荐
相关产品推荐

