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

Botpress v12本地搭建遇依赖与Node版本不兼容问题求助

解决Botpress v12在M2 Mac上的构建依赖问题

核心问题梳理

Botpress v12的package.json指定Node引擎为^12,但部分依赖(如@jest/types@29.x)已停止支持Node12;强制忽略引擎限制后,又遇到sqlite3@4.2.0无ARM64预编译二进制的问题(适配M2芯片)。

可行解决方案

方案1:锁定兼容依赖版本(推荐,适配Node12环境)

  • 在项目根目录的package.json中添加完整resolutions配置,覆盖所有不兼容的依赖:
    "resolutions": {
      "@jest/types": "^27.5.1",
      "jest": "^27.5.1",
      "sqlite3": "^5.1.6"
    }
    
    说明:@jest/types@27.x是最后支持Node12的版本;sqlite3@5.1.6开始提供ARM64预编译二进制,解决M2芯片的编译问题。
  • 清除缓存后重新安装依赖:
    yarn cache clean
    yarn install --force
    
  • 执行构建命令:
    yarn build
    

方案2:使用Docker隔离环境(最省心,无需调整本地依赖)

  • 拉取Botpress v12官方兼容镜像:
    docker pull botpress/server:v12
    
  • 启动容器并映射端口:
    docker run -d -p 3000:3000 botpress/server:v12
    
  • 访问http://localhost:3000即可使用Botpress。

方案3:本地编译sqlite3(备选,坚持使用Node12环境)

  • 降级Yarn至更兼容旧依赖的版本:
    yarn set version 1.22.10
    
  • 通过brew安装sqlite3本地编译依赖:
    brew install python@3.9 make gcc
    
  • 强制本地编译sqlite3:
    yarn add sqlite3@4.2.0 --build-from-source --ignore-scripts=false
    
  • 重新执行构建:
    yarn build
    

注意事项

  • Botpress v12为停止维护的旧版本,长期使用建议升级至v13+版本
  • M2芯片的ARM64架构对旧npm包的预编译支持有限,优先选择提供ARM二进制的依赖版本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 10:08:12