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

新EC2实例中NestJS首次启动失败求助

解决EC2实例上NestJS启动失败及依赖安装异常问题

核心问题

本地项目的@nestjs/cli依赖未正确安装,导致全局CLI尝试加载本地命令模块失败;同时npm install --silent隐藏了安装过程中的隐性错误,未生成package-lock.json。

修复步骤

1. 彻底清理残留文件

先删掉可能损坏的依赖目录和缓存:

rm -rf node_modules
rm -f package-lock.json yarn.lock
npm cache clean --force

2. 重新安装依赖(关闭静默模式)

之前用--silent看不到错误,改用正常安装命令排查问题:

npm install

如果安装时出现编译类错误,先补全Ubuntu系统依赖:

sudo apt update && sudo apt install -y build-essential python3

3. 改用本地CLI启动项目

全局CLI和项目依赖的CLI版本可能不兼容,直接调用项目本地的CLI执行脚本:
修改package.json里的scripts字段:

"scripts": {
  "build": "npx nest build",
  "start": "npx nest start",
  "start:dev": "npx nest start --watch",
  "start:debug": "npx nest start --debug --watch",
  // 其余脚本保持不变
}

或者直接指定本地CLI路径:

"scripts": {
  "build": "./node_modules/.bin/nest build",
  "start": "./node_modules/.bin/nest start",
  "start:dev": "./node_modules/.bin/nest start --watch",
  "start:debug": "./node_modules/.bin/nest start --debug --watch",
  // 其余脚本保持不变
}

4. 验证修复效果

安装完成后检查关键文件:

# 确认@nestjs/cli的commands目录存在
ls node_modules/@nestjs/cli/commands
# 确认package-lock.json已生成
ls -l package-lock.json

然后启动项目:

npm run start:dev

5. 修复全局CLI(可选)

如果需要使用全局CLI,卸载现有版本后安装和项目匹配的版本:

npm uninstall -g @nestjs/cli
npm install -g @nestjs/cli@^10.0.0

验证全局CLI:

nest -v

额外提示

  • EC2非root用户注意npm全局目录权限,避免安装时出现权限错误
  • Node.js 20.x和NestJS 10.x兼容,若仍有问题可尝试降级到Node.js 18.x LTS版本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 16:05:59