使用pm2启动项目报错:Interpreter bun is NOT AVAILABLE in PATH
PM2启动报错“Interpreter bun is NOT AVAILABLE in PATH”的原因及解决办法
问题原因
你的项目基于Node.js生态(依赖ts-node-dev、Node.js运行时),但PM2当前的启动配置被设置为默认使用bun作为解释器,而你的系统环境中并未安装bun,导致启动失败。可能的触发场景包括:
- 全局PM2配置被修改,默认解释器设为了bun
- 项目本地存在PM2配置文件(如
ecosystem.config.js),其中指定了interpreter: 'bun'
解决办法
1. 启动时明确指定Node.js解释器
修改package.json中的dev脚本,直接通过--interpreter参数告诉PM2使用Node.js:
{ "scripts": { "build": "npx tsc", "start": "node dist/index.js", "dev": "pm2 start ts-node-dev src/server.ts --interpreter node" } }
修改后重新执行yarn dev即可。
2. 重置PM2全局配置
如果是全局PM2的默认解释器被篡改,执行以下命令重置:
pm2 reset all
也可以先查看当前默认解释器:
pm2 config get interpreter
若输出为bun,手动修改为node:
pm2 config set interpreter node
3. 检查项目本地PM2配置文件
查看项目根目录是否存在ecosystem.config.js或ecosystem.config.ts文件,若其中包含类似以下配置:
module.exports = { apps: [{ script: 'src/server.ts', interpreter: 'bun' // 这里指定了bun }] }
将interpreter的值改为node,或者直接删除该配置项。
4. 临时绕过PM2(开发环境测试)
如果只是需要临时验证服务是否能正常启动,可以直接用ts-node-dev运行,无需PM2:
在package.json中新增脚本:
{ "scripts": { ... "dev:direct": "ts-node-dev src/server.ts" } }
执行yarn dev:direct即可启动服务。
内容的提问来源于stack exchange,提问作者lambdamaster
相关产品推荐
相关产品推荐

