O Ubuntu 22.04, apesar de trazer uma série de melhorias e atualizações, pode enfrentar alguns desafios específicos quando se trata da integração de certos softwares ou bibliotecas. Um problema comum enfrentado por desenvolvedores é o erro relacionado à ausência da biblioteca “libcrypto.so.1.1” ao tentar executar o Jest-Mongo. Esse problema surge devido à dependência do Jest-Mongo do OpenSSL 1.1, enquanto o Ubuntu 22.04 é distribuído com a versão 3.x do OpenSSL.
Quando esse erro ocorre, pode parecer intimidante, mas felizmente existem soluções relativamente simples para contorná-lo e permitir que o Jest-Mongo seja executado sem problemas.
O Problema
Ao tentar iniciar o Jest-Mongo no Ubuntu 22.04, os desenvolvedores podem se deparar com o seguinte erro:
Instance failed to start because a library is missing or cannot be opened: "libcrypto.so.1.1", MongoMemoryServer Instance Closes Unexpectedly
Esse erro indica que o Jest-Mongo está procurando a biblioteca libcrypto.so.1.1
, que não está presente na instalação padrão do Ubuntu 22.04.
Soluções
1. Instalação do pacote libssl1.1
Uma das soluções mais diretas é instalar o pacote libssl1.1
que contém a biblioteca necessária. Isso pode ser feito através do gerenciador de pacotes dpkg
. Execute o seguinte comando no terminal:
sudo dpkg -i libssl1.1*.deb
Esse comando instala o pacote libssl1.1
, adicionando assim a biblioteca libcrypto.so.1.1
necessária para que o Jest-Mongo funcione corretamente.
2. Download e instalação manual
Se a primeira solução não funcionar ou se preferir uma abordagem manual, você pode baixar o pacote libssl1.1
diretamente dos repositórios do Ubuntu e instalá-lo manualmente. Siga estes passos:
- Baixe o pacote
libssl1.1
:
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
- Instale o pacote baixado:
sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
Esta abordagem também adicionará a biblioteca necessária ao sistema, resolvendo assim o erro libcrypto.so.1.1
.
Instalação do Jest-Mongo com OpenSSL 1.1
- Ao instalar o Jest-Mongo, especifique a opção
--openssl-version 1.1
para indicar o uso da versão 1.1 do OpenSSL:
npm install jest-mongo --openssl-version 1.1
- A instalação do OpenSSL 1.1 pode gerar conflitos com a versão 3.x presente no Ubuntu 22.04. Para evitar problemas, é recomendável utilizar a segunda solução, instalando o Jest-Mongo com a opção
--openssl-version 1.1
. - É importante verificar se o Jest-Mongo foi instalado com a versão correta do OpenSSL. Para isso, execute o comando:
jest --showConfig
Na seção “setup”, procure pela linha opensslVersion
. Se o valor for “1.1”, a instalação foi realizada com a versão correta do OpenSSL.
Conclusão
O erro relacionado à ausência da biblioteca libcrypto.so.1.1
ao tentar executar o Jest-Mongo no Ubuntu 22.04 pode ser corrigido seguindo uma das soluções mencionadas acima. Tanto a instalação do pacote libssl1.1
através do gerenciador de pacotes quanto a instalação manual do pacote resolverão o problema, permitindo que os desenvolvedores continuem trabalhando sem interrupções. Com essas soluções, os usuários do Ubuntu 22.04 podem aproveitar todos os recursos oferecidos pelo Jest-Mongo em seus projetos de desenvolvimento.