A instalação dos pacotes externos é bastante simples porém às vezes o usuário pode encontrar alguns erros ao realizar esta tarefa. Dentre esses erros, o erro “Engine “node” é incompatível com “This” Module ”é um deles que pode ser resolvido seguindo diferentes técnicas.
Esboço rápido
- Quando o “nó” do mecanismo é incompatível com “Este” erro de módulo ocorre?
- Como resolver o “nó” do mecanismo é incompatível com o erro do módulo “Este”?
- O que fazer se o “nó” do mecanismo for incompatível com “este” erro do módulo ainda persistir?
- Conclusão
Quando o “nó” do mecanismo é incompatível com “Este” erro de módulo ocorre?
O “nó” é incompatível com “Este” O erro do módulo ocorre pelos seguintes motivos:
Razão 1: o pacote necessário não é compatível
O motivo mais comum pelo qual o “nó” é incompatível com o erro do módulo “Este” é devido à incompatibilidade entre o Node.js e a versão do pacote necessária. É enfrentado principalmente durante a implantação do aplicativo Node.js na AWS.
Razão 2: versão mais antiga do nó
Outro motivo é a versão mais antiga do Node.js. É enfrentado principalmente no sistema operacional Ubuntu quando o usuário tenta atualizar a versão do Node.js várias vezes e também atualiza os repositórios do sistema junto com ela. Por esse motivo, o “ apto ”O comando iniciará uma versão mais antiga do Node.js retirada do pacote Debian e o usuário enfrentará o erro específico acima.
Como resolver o “nó” do mecanismo é incompatível com o erro do módulo “Este”?
Esta seção lista todas as soluções viáveis possíveis para resolver o “nó” do mecanismo é incompatível com o erro do módulo “Este”:
- Solução 1: Ignore a verificação do motor usando “npm” e “yarn”
- Solução 2: desative os campos padrão do mecanismo usando o arquivo “package-lock.json”
- Solução 3: atualize o nó para a versão mais recente
Solução 1: Ignore a verificação do motor usando “npm” e “yarn”
A primeira solução é “ ignorando a verificação do motor ”Ao instalar o pacote especificado usando o“ npm ' ou ' fio ”gerenciadores de pacotes. Para ' npm ”Isso pode ser feito usando o“ -força ” bandeira e para “ fio ”esta tarefa pode ser executada usando o“ –ignorar motores ' bandeira.
Primeiro passo no “ npm ' gerenciador de pacotes.
Sintaxe (para NPM)
instalação npm -- força < pacote nome >De acordo com a sintaxe acima, o “ -força ”O sinalizador adiciona o pacote especificado ao aplicativo Node.js com força
Agora use a sintaxe acima para instalar um pacote específico na versão atual do Node.js:
instalação npm -- forçar texto datilografadoNo comando acima, o pacote “typescript” é instalado ignorando a compatibilidade da versão atual do Node.
A saída abaixo mostra que o “ texto datilografado ”O pacote foi instalado à força no aplicativo Node.js atual. Também mostra uma mensagem de aviso devido ao cache. Execute o “ verificação de cache npm ”Comando para verificar se o cache funcionou corretamente ou não:
Agora ignore as verificações do motor usando o “ fio ”gerenciador de pacotes com a ajuda do comando indicado abaixo:
instalação de fio -- ignorar - motoresO comando acima ignora as verificações do motor e confirma que o “ fio ”Não instala as dependências opcionais. O ' –ignorar motores ” flag executa o comando “yarn install” no modo offline:
O comando acima cria um “ fio.lock ”Arquivo no diretório principal do projeto Node.js.
O ' fio ”O gerenciador de pacotes requer a seguinte sintaxe para instalar um pacote ignorando as verificações do mecanismo:
Sintaxe (para fio)
adicionar fio < pacote nome > -- ignorar - motoresAgora use a sintaxe escrita acima para instalar um “ texto datilografado ”pacote globalmente em um sistema operacional:
fio global adicionar texto datilografado -- ignorar - motoresA saída abaixo adiciona com êxito o projeto TypeScript globalmente no sistema operacional Windows atual para todos os projetos Node.js:
Dica: Ignore as verificações do mecanismo para todos os comandos
Se o usuário quiser ignorar a verificação do mecanismo para todos os comandos, execute o comando abaixo junto com o “ verdadeiro ”valor booleano:
conjunto de configuração do fio ignorar - motores verdadeiroO comando acima informa ao compilador que ignore o campo do mecanismo especificado no arquivo “package.json”:
O ' ignorar motores ”As verificações foram definidas como verdadeiras para todos os comandos. Agora o usuário pode instalar qualquer pacote específico no Node.js sem especificar o sinalizador “–ignore-engines”:
Solução 2: desative os campos padrão do mecanismo usando o arquivo “package-lock.json”
A próxima solução é modificar o “ motor ”do campo“ pacote-lock.json ' arquivo. Para fazer isso, primeiro navegue até o diretório principal do projeto Node.js e abra o arquivo “package-lock.json”.
Assim que o arquivo de destino for aberto, vá para “ motores ”E atualize-o desta forma:
Imprensa ' Ctrl+S ”Para salvar o arquivo acima. A modificação permite que o gerenciador de pacotes “npm” instale a versão do pacote necessária que é adequada para a versão “>=14.17” do Node.js.
Solução 3: atualize o nó para a versão mais recente
Outra solução é atualizar a versão do Node.js. A atualização do Node.js em todos os sistemas operacionais é bastante fácil e pode ser realizada com a ajuda dos guias abaixo:
- Como atualizar versões do nó no Windows?
- Como atualizar a versão do Node no Ubuntu?
- Como atualizar o Node.js para a versão mais recente no macOS?
O que fazer se o “nó” do mecanismo for incompatível com “este” erro do módulo ainda persistir?
Se o erro “nó” do mecanismo for incompatível com o módulo “Este” persistir após resolvê-lo com qualquer uma das soluções acima, exclua o “ node_modules ' pasta. A pasta “node_modules” é gerada automaticamente quando um módulo de terceiros é instalado. Ele contém todos os pacotes de terceiros dos quais o projeto Node.js depende.
Além disso, o “ pacote-lock.json ”O arquivo também é gerado automaticamente quando um pacote é instalado com “npm”. Ele mantém o registro das dependências e também das subdependências das quais o pacote depende junto com suas versões. Se o pacote for instalado com “yarn”, então o nome do arquivo será “ fio.lock ”.
Solução: Remova a pasta “node_modules” e o arquivo “package-lock.json”
A solução para o erro encontrado é excluir a pasta “node_modules”, arquivo de configuração “package-lock.json/yarn.lock” e instalar o pacote necessário novamente.
No Linux , a pasta ou os arquivos especificados acima podem ser excluídos com a ajuda do “ rm (remover)” comando:
rm - pacote node_modules rf - trancar. JSON //Exclui pasta e arquivoeu //Exibe arquivos e diretórios
No comando acima o “ -r ”sinalizador exclui a pasta especificada“ recursivamente ”Incluindo todos os seus subdiretórios e o“ f ”flag diz ao intérprete para executar esta tarefa“ com força ”:
A saída mostra que a pasta “node_modules” e o arquivo “package-lock.json/yarn.lock” foram removidos completamente:
No Windows , o usuário pode excluir a pasta “node_modules” e o arquivo “package-lock.json/yarn.lock” simplesmente pressionando a tecla “delete” ou usando a opção “delete” no menu suspenso.
Trata-se de resolver o erro “Não é possível encontrar o módulo” no Node.js.
Conclusão
Para resolver o motor “ node” é incompatível com o módulo “This” ”Erro, ignore as verificações do mecanismo de acordo com o gerenciador de pacotes especificado. Para ' npm ”Isso pode ser feito usando o“ -força ”bandeira e para“ fio ”pode ser realizado através do“ –ignorar motores ” bandeira de verificação. Além disso, o usuário também pode resolver o erro modificando o “ motores ”campo do“ pacote-lock.json ” ou atualizar a versão do Node. Esta postagem discutiu todos os motivos possíveis junto com sua solução para resolver o erro “Não é possível encontrar o módulo” usando Node.js.