问题描述
我在使用 pm2 时遇到问题。
如果我用
启动我的应用程序cd /my/path
pm2 start server.js
一切正常,但如果我使用 ecosystem.config.js
文件,则会出现以下错误
pm2 start ecosystem.config.js
Error: Cannot find module '/my/path/server.js'\n at Function.Module._resolveFilename
我的生态文件配置如下
module.exports = {
"apps": [{
"name": "MyApp","script": "server.js","cwd": "/my/path"
}]
}
我尝试卸载 pm2、更新 npm 并重新安装 node_modules,但我仍然不明白为什么它说我的文件中缺少一个模块(特别是因为它在不使用生态系统文件时有效)
解决方法
阅读https://pm2.keymetrics.io/docs/usage/application-declaration/
Field Type Example Description
name (string) “my-api” application name (default to script filename without extension)
script (string) ”./api/app.js” script path relative to pm2 start
cwd (string) “/var/www/” the directory from which your app will be launched
我会尝试:
- 用
"script": "./server.js"
(有点奇怪,我知道) - 删除
cwd
参数并设置./my/path/server.js
确保生态系统.config.js 位于您的项目的根目录以及您的服务器入口文件 (server.js) 中,并按如下方式指定您的脚本:
module.exports = {
"apps": [{
"name": "MyApp","script": "./server.js"
}]
}