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

whatsapp-web.js包运行故障求助:多版本报错及已尝试方案

修复whatsapp-web.js无法正常运行的可行方案

方案一:切换到维护中的fork版本(推荐)

原whatsapp-web.js仓库已长期停更,无法适配WhatsApp Web的最新更新,改用社区维护的wwebjs-client(原项目的官方fork)可直接解决所有兼容性问题:

  • 卸载原包:
    npm uninstall whatsapp-web.js
    
  • 安装fork版本:
    npm install wwebjs-client
    
  • 代码无需大幅修改,仅替换导入语句:
    // 原代码
    const { Client } = require('whatsapp-web.js');
    // 修改后
    const { Client } = require('wwebjs-client');
    

该版本会持续跟进WhatsApp Web的更新,后续不会频繁出现类似兼容性错误。

方案二:手动修复原包的兼容性问题(临时方案)

如果不想更换依赖包,可针对报错点逐一修改:

  1. 修复缓存版本读取错误
    找到node_modules/whatsapp-web.js/src/webCache/LocalWebCache.js第34行,将:
    const version = indexHtml.match(/manifest-([\d\\.]+)\.json/)[1];
    
    修改为:
    const versionMatch = indexHtml.match(/manifest-([\d\\.]+)\.json/);
    const version = versionMatch ? versionMatch[1] : '2.2412.54'; // 可填当前WA Web的版本号,或留默认值
    
  2. 修复moduleRaid的数组push错误
    找到原包中moduleRaid相关的注入代码(通常在Client.js的初始化逻辑里),修改fillModuleArray函数确保操作的数组存在:
    // 修改后的fillModuleArray片段
    function fillModuleArray(mods) {
      if (!moduleArray) moduleArray = [];
      mods?.forEach(mod => {
        moduleArray.push(mod);
      });
    }
    

注意:这种方法需要每次WhatsApp Web更新后重复修改,仅适合临时应急。

方案三:锁定兼容的Puppeteer版本

部分错误源于原包与新版Puppeteer不兼容,安装指定版本的Puppeteer可缓解问题:

npm install puppeteer@19.11.1

该版本与旧版whatsapp-web.js的API匹配度较高,能避免部分执行上下文的报错。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 15:32:39