如何在指定目录使用pm2执行npm启动命令?
如何为
pm2 start npm -- start指定运行目录 当然有办法实现,以下是几种实用方案:
方法1:使用--cwd参数(推荐)
pm2原生提供了--cwd参数用于指定进程的工作目录,注意要把这个参数放在--前面(--之后的内容会直接传递给npm):
pm2 start npm --name "my-app" --cwd /opt/www/myapp -- start
--cwd /opt/www/myapp:指定pm2执行npm命令的工作目录-- start:这部分会原封不动传递给npm,效果等同于在/opt/www/myapp目录下执行npm start
方法2:使用pm2配置文件(适合复杂场景)
如果需要更灵活的进程管理配置,可以创建ecosystem.config.js文件,在其中明确指定运行目录:
module.exports = { apps: [ { name: "my-app", script: "npm", args: "start", cwd: "/opt/www/myapp" // 目标运行目录 } ] }
完成配置后,执行启动命令即可:
pm2 start ecosystem.config.js
方法3:切换目录后执行(临时场景适用)
这是最直接的临时解决方案,先切换到目标目录再执行pm2命令:
cd /opt/www/myapp && pm2 start npm -- start
内容的提问来源于stack exchange,提问作者Fabian
相关产品推荐
相关产品推荐

