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

Nuxt PWA项目运行yarn dev报图标不存在、退出码137错误如何解决?

问题原因
  • 图标文件缺失报错:@nuxtjs/pwa 模块默认会读取项目 static/icon.png 作为源文件,自动生成全尺寸PWA适配图标并缓存到 node_modules/.cache/pwa 目录。你当前项目未放置默认源图标,也未在配置中指定自定义图标路径,导致模块生成图标时找不到源文件,触发ENOENT报错。
  • 进程被杀(退出码137):PWA模块生成高分辨率图标时需要占用大量内存,你当前运行环境的可用内存不足以支撑图标生成操作,进程被系统OOM(内存不足)守护进程直接终止,所以输出Killed和137退出码。
解决方法

1. 补全图标源配置

任选一种方式即可:

  • 方式一:在项目根目录创建 static 文件夹,放入一张尺寸不小于512*512px的PNG格式图标,命名为 icon.png,使用模块默认读取路径。
  • 方式二:在 nuxt.config.js 中指定自定义图标路径:
// nuxt.config.js
export default {
  pwa: {
    icon: {
      source: '~/static/你的图标文件名.png'
    }
  }
}

2. 解决内存不足问题

根据你的使用场景选择对应方案:

开发环境场景

开发阶段不需要每次启动都生成全量图标,直接禁用开发环境的图标生成功能即可:

// nuxt.config.js
export default {
  pwa: {
    icon: {
      // 仅生产环境开启图标生成
      enabled: process.env.NODE_ENV === 'production'
    }
  }
}

需要全量生成图标的场景

  • 提升Node进程内存上限,修改 package.json 中的启动命令:
{
  "scripts": {
    "dev": "node --max-old-space-size=4096 node_modules/nuxt/bin/nuxt.js"
  }
}

其中4096为给Node分配4G运行内存,可根据你的设备配置调整数值。

  • 裁剪不需要的图标尺寸,减少内存消耗:
// nuxt.config.js
export default {
  pwa: {
    icon: {
      // 仅保留需要的尺寸,去掉1242x2688这类超大尺寸适配
      sizes: [64, 120, 144, 152, 192, 384, 512]
    }
  }
}

配置修改完成后,删除 node_modules/.cache 目录,重新执行 yarn dev 即可正常启动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 10:30:05