Como resolver o “nó” do mecanismo é incompatível com o erro do módulo “Este”

Como Resolver O No Do Mecanismo E Incompativel Com O Erro Do Modulo Este



No Node.js, o “ pacote ”contém todos os arquivos importantes de um módulo. Um módulo corresponde a uma biblioteca que constrói uma conexão com uma aplicação baseada em seu contexto. Todos os pacotes Node.js não são predefinidos, a maioria deles são externos que podem ser instalados na aplicação Node.js através do gerenciador de pacotes “npm/yarn”.

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?

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”

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 datilografado

No 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 - motores

O 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 - motores

Agora use a sintaxe escrita acima para instalar um “ texto datilografado ”pacote globalmente em um sistema operacional:

fio global adicionar texto datilografado -- ignorar - motores

A 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 verdadeiro

O 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 arquivo

eu //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.