KillovSky / Iris

Repositório oficial do Projeto Íris, uma BOT cuidadosamente desenvolvida para o WhatsApp usando a biblioteca Baileys
https://killovsky.github.io/Iris/
MIT License
190 stars 176 forks source link

Erro ao instalar dependências via NPM #615

Closed Kaally closed 5 months ago

Kaally commented 5 months ago

Você está usando a versão mais recente da Íris?

Você seguiu corretamente as instruções de instalação?

Você tentou atualizar os módulos usando o comando "npm update"?

Qual é a versão do NodeJS que você está usando?

image

Qual é a versão do NPM que você está usando?

image

Qual é a versão do Python que você está usando?

image

Qual é o seu sistema operacional? Marque todos os sistemas nos quais o erro ocorreu para você.

Linux

Em que tipo de função ocorre o erro?

Comandos, Outros (Inserir detalhes nas Informações Adicionais)

Você desligou a Íris de maneira não convencional, como desconectar o PC da tomada?

Você editou a Íris em tempo real sem reiniciar após a edição?

Você tentou usar o mesmo número em dois ou mais Bots ao mesmo tempo?

Você está usando algum servidor, VPN, proxy ou serviço similar?

Outros (Inserir detalhes nas Informações Adicionais)

Há mais alguma informação que você gostaria de compartilhar? Descreva as Informações Adicionais.

image

um conflito de dependências entre diferentes versões do pacote "sharp" em dois módulos: "wa-sticker-formatter" e "@whiskeysockets/baileys". O "wa-sticker-formatter" requer uma versão mínima de "^0.30.0" do "sharp", enquanto o "@whiskeysockets/baileys" requer uma versão mínima de "^0.32.2".

O npm está indicando que encontrou a versão "^0.30.7" do "sharp" no projeto principal, que é incompatível com a versão mínima exigida pelo "@whiskeysockets/baileys".

KillovSky commented 5 months ago

Olá, parabéns por seguir a template!

Esse erro é devido ao Baileys atualizar e forçar o uso de um sharp que e incompatível com canvas.

Como você está no Linux, apenas digite npm i --force ou troque a versão do sharp no package json para ^0.32.2, note que somente sistemas Linux e MacOS podem fazer isso, sistemas Windows acabarão por causar infinitos bugs em TODOS OS COMANDOS CANVAS E SHARP, em breve isso será corrigido para sistemas Linux, MacOS e Termux, não serão necessários tantos passos como será no Windows nas futuras instalações.

Abaixo é a explicação para quem tiver esse erro com Windows.

Conforme explicado nas redes sociais, é impossível usar Sharp e Canvas no mesmo computador Windows, mas a Íris faz um trick para isso, no entanto, com a atualização do Baileys, ele passou a forçar o uso de versões mais recentes e isso bloqueia a instalação da Íris, conforme referenciado aqui por outro DEV também: https://github.com/WhiskeySockets/Baileys/issues/576

A única forma de corrigir fácil por agora é executando npm i --force, mas em breve, será inserido nos tutoriais o que deve ser feito, com o passar dos meses, Windows se tornará mais e mais problemático de instalar.

Em si, o problema só afeta o Windows, e a correção permanente futura será apenas questão de tempo a parar de funcionar, talvez meses ou anos, quando isso ocorrer, é provável que não poderemos mais usar a Íris em Windows ou terei que fazer mudanças radicais, isso se canvas continuar a utilizar versões pré-compiladas desatualizadas de requisitos, conforme dito aqui: https://github.com/lovell/sharp/issues/3007#issuecomment-988662604 | https://github.com/lovell/sharp/issues/3532 | Infinitas outras issues no repositório do Sharp, pesquise por Canvas lá

Ou pelo repositório do Canvas ao procurar por Sharp nas issues, aqui tem um exemplo de Issue ainda aberta lá: https://github.com/Automattic/node-canvas/issues/1386#issuecomment-1245017578

Talvez os desenvolvedores do Canvas não consigam corrigir pelo complexidade ou não queiram corrigir por ser um erro que afeta outros códigos não deles, mas o problema está com os pacotes pré-compilados do Canvas, não dá pra corrigir eternamente no Windows, pois se surgir uma atualização crítica obrigatória, será um adeus para Sharp, Canvas ou suporte a plataforma Windows (opção mais viável).

Saiba mais no Canal de Atualizações da Íris no WhatsApp.

Resumindo, a melhor sugestão minha? Pode ser melhor usar Linux no futuro, além de poder usar Sharp e Canvas juntos, você terá um baita aumento de velocidade e funcionalidade na Íris.

Kaally commented 5 months ago

O Windows sempre complicando

Mas no linux consegui reverter a situação da seguinte maneira:

npm i --force

image

Bom parece que teremos que mudar de bibliotecas futuramente.

KillovSky commented 5 months ago

Ótimo, por ser um Linux, deve seguir operando sem problemas!

Fecharei a issue agora, mas deixarei fixada até a atualização 1.1.2 que vem com os tutoriais atualizados.