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

Discord.js与Canvacord运行报错libuuid.so.1无法打开的解决方法

问题根因

该报错由两类问题共同导致:

  1. 运行环境缺失node-canvas依赖的系统级组件libuuid,这是Canvacord正常运行的前置要求
  2. 你的level.js代码存在未定义变量、未引入依赖的语法错误
解决方案

一、安装系统依赖

根据你的运行环境选择对应操作:

  • Replit环境(报错路径包含/home/runner/可判定为此环境)
    在项目根目录新建名为replit.nix的文件,写入如下配置后重启项目:
    { pkgs }: {
      deps = [
        pkgs.libuuid
        pkgs.cairo
        pkgs.pango
        pkgs.libjpeg
        pkgs.giflib
        pkgs.librsvg
      ];
    }
    
  • Debian/Ubuntu 服务器
    执行终端命令:
    sudo apt update && sudo apt install -y libuuid1 libcairo2 libpango1.0-0 libjpeg-dev libgif-dev librsvg2-dev
    
  • CentOS/RHEL 服务器
    执行终端命令:
    sudo yum install -y libuuid cairo pango libjpeg-turbo-devel giflib-devel librsvg2-devel
    

二、修复代码错误

对level.js做三处修改即可正常运行:

  1. 修正依赖引入:MessageAttachment未导入会导致生成图片附件时报错,修改首行代码:
const { client, CommandInteraction, MessageEmbed, MessageAttachment } = require("discord.js");
  1. 修正未定义变量:斜杠命令场景没有全局message对象,获取触发用户需要用交互对象,修改第13行代码:
let user1 = interaction.user;
  1. 新增延迟回复避免超时:斜杠命令默认3秒未响应会报错,在run函数最开头加入如下代码:
await interaction.deferReply();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 22:15:04