Partage
  • Partager sur Facebook
  • Partager sur Twitter

Utilisation de la librairie Canvas de NodeJS

Erreur lors de la compilation

    7 décembre 2019 à 18:53:34

    Bonjour à tous !

    Je vous envoie ce message pour vous demander de l'aide, car je n'arrive à compiler un programme avec NodeJS.

    Je souhaite utiliser la librairie https://github.com/Automattic/node-canvas de NodeJS.

    Lorsque je lance la commande

    node .

    Le terminal me répond :

    module.js:549
        throw err;
        ^
    
    Error: Cannot find module '../build/Release/canvas.node'
        at Function.Module._resolveFilename (module.js:547:15)
        at Function.Module._load (module.js:474:25)
        at Module.require (module.js:596:17)
        at require (internal/module.js:11:18)
        at Object.<anonymous> (/home/lanhers/nodejs-canvas/node_modules/canvas/lib/bindings.js:3:18)
        at Module._compile (module.js:652:30)
        at Object.Module._extensions..js (module.js:663:10)
        at Module.load (module.js:565:32)
        at tryModuleLoad (module.js:505:12)
        at Function.Module._load (module.js:497:3)

    Voici le contenu de mon fichier index.js :

    const Discord = require('discord.js');
    const Canvas = require('canvas');
    
    const client = new Discord.Client();
    
    client.once('ready', () => {
    	console.log('Ready!');
    });
    
    client.on('guildMemberAdd', async member => {
    	const channel = member.guild.channels.find(ch => ch.name === 'member-log');
    	if (!channel) return;
    
    	const canvas = Canvas.createCanvas(700, 250);
    	const ctx = canvas.getContext('2d');
    
    	const background = await Canvas.loadImage('./wallpaper.jpg');
    	ctx.drawImage(background, 0, 0, canvas.width, canvas.height);
    
    	ctx.strokeStyle = '#74037b';
    	ctx.strokeRect(0, 0, canvas.width, canvas.height);
    
    	// Slightly smaller text placed above the member's display name
    	ctx.font = '28px sans-serif';
    	ctx.fillStyle = '#ffffff';
    	ctx.fillText('Welcome to the server,', canvas.width / 2.5, canvas.height / 3.5);
    
    	// Add an exclamation point here and below
    	ctx.font = applyText(canvas, `${member.displayName}!`);
    	ctx.fillStyle = '#ffffff';
    	ctx.fillText(`${member.displayName}!`, canvas.width / 2.5, canvas.height / 1.8);
    
    	ctx.beginPath();
    	ctx.arc(125, 125, 100, 0, Math.PI * 2, true);
    	ctx.closePath();
    	ctx.clip();
    
    	const avatar = await Canvas.loadImage(member.user.displayAvatarURL);
    	ctx.drawImage(avatar, 25, 25, 200, 200);
    
    	const attachment = new Discord.MessageAttachment(canvas.toBuffer(), 'welcome-image.png');
    
    	channel.send(`Welcome to the server, ${member}!`, attachment);
    });
    client.on('message', async message => {
    	if (message.content === '!join') {
    		client.emit('guildMemberAdd', message.member || await message.guild.fetchMember(message.author));
    	}
    });
    client.login(TOKEN);

    Je suis sous LinuxMint, la version de Node est 8.10.0.

    En espérant que vous pourriez trouver une solution à mon problème,

    Slidehub.

    • Partager sur Facebook
    • Partager sur Twitter

    Utilisation de la librairie Canvas de NodeJS

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown