(Os melões são os mais doces quando cultivados em esterco nutritivo, e os gênios são os melhores quando cultivados em solo vicioso. - Bacon)
arquitetura sem suporte
Tais problemas são propensos a ocorrer nos chips da série m do mac, porque a série m é a arquitetura do chip do arm64, e a arquitetura do chip de algumas versões do nodejs ou pacotes npm é x86, portanto, esses problemas ocorrem com frequência, mas com o nova versão do
nodejs Com o suporte de chips da série m, os toolkits ecológicos npm são gradualmente compatíveis com a arquitetura arm64, mas alguns mais antigos não são compatíveis e esse problema ainda ocorre. A única solução é usar um pacote compatível com o arm64 arquitetura ou use uma versão mais recente do nodejs
cenário de problema
Depois de mudar de um computador Windows para um Mac, esses problemas ocorreram ao iniciar o serviço nodejs, mas o nodejs usa a versão 14, que já suporta os chips da série m do mac, então comecei a solucionar o problema do pacote npm
- Primeiro execute o arquivo js sem nenhuma dependência, e descubra que ele pode ser iniciado normalmente, então pode ter certeza que deve ser um problema com o pacote npm
- No serviço http tradicional, primeiro verifique cada camada de controle (controlador) e habilite apenas um controlador por vez para restringir o escopo
- Depois de localizar a camada de controle problemática, comece a verificar a camada de negócios (serviço) e habilite apenas um serviço por vez para restringir o escopo
- Depois de localizar a camada de negócios problemática, comece a verificar as dependências do pacote da camada de negócios e habilite apenas um pacote por vez para restringir o escopo
- Por fim, localize o pacote npm problemático e encontre a solução (versão de atualização ou outra) do pacote no npm ou github. Se o problema do pacote não puder ser resolvido, use outros pacotes que suportem a arquitetura arm64 para resolvê-lo.
ffprobe-static
Por exemplo, a versão 3.0.0 deste pacote não suporta chips arm64 e será resolvida após a atualização para 3.1.0