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

NestJS CLI全局安装报错及进程被终止问题求助

NestJS CLI 全局安装错误排查与解决

错误1:ENOTEMPTY 目录非空

npm ERR! code ENOTEMPTY npm ERR! syscall rename npm ERR! path /usr/local/lib/node_modules/@nestjs/cli npm ERR! dest /usr/local/lib/node_modules/@nestjs/.cli-seuz8ewr npm ERR! errno -39 npm ERR! ENOTEMPTY: directory not empty, rename '/usr/local/lib/node_modules/@nestjs/cli' -> '/usr/local/lib/node_modules/@nestjs/.cli-seuz8ewr'

这是因为npm在安装时需要重命名现有CLI目录为临时文件,但目标路径已存在非空目录,或者原CLI目录残留了未清理的文件,导致重命名操作失败。

解决步骤:

  • 彻底删除旧的NestJS CLI目录:
    rm -rf /usr/local/lib/node_modules/@nestjs/cli
    
  • 强制清理npm缓存,消除残留的安装状态:
    npm cache clean --force
    

错误2:安装进程被Killed

Killed####⠂⠂⠂⠂⠂⠂⠂⠂⠂) ⠴ reify:fsevents: sill reify mark deleted [ '/usr/local/lib/node_modules/@nestjs/cli/node_modules/fseven

这个提示几乎都是系统内存不足导致的:npm处理依赖树(reify阶段)会占用大量内存,当系统剩余内存不足时,Linux的OOM Killer会直接终止占用内存过高的进程。

解决方法(任选其一):

  • 临时创建swap分区补充内存(适合低内存服务器/虚拟机):
    # 创建1GB swap文件
    fallocate -l 1G /swapfile
    chmod 600 /swapfile
    mkswap /swapfile
    swapon /swapfile
    
    安装完成后可执行swapoff /swapfile && rm /swapfile移除swap文件。
  • 改用内存占用更低的pnpm安装:
    # 安装pnpm
    curl -fsSL https://pnpm.io/install.sh | sh -
    # 全局安装NestJS CLI
    pnpm add -g @nestjs/cli
    
  • 限制npm的内存使用上限:
    npm i -g @nestjs/cli --max-old-space-size=512
    

操作顺序建议

先执行错误1的清理步骤,再用错误2的解决方法重新尝试安装,就能解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 09:02:59