Estou tentando executar este projeto https://github.com/Soundnode/soundnode-app depois de atualizar minha versão do minimatch para 3.10.9, estou recebendo este erro
npm WARN opcional SKIPPING DEPENDÊNCIA OPCIONAL: fsevents@^1.0.0 (node_modules \ webpack \ node_modules \ watchpack \ node_modules \ chokidar \ node_modules \ fsevents): npm WARN notsup SKIPPING DEPENDÊNCIA OPCIONAL: plataforma não suportada para [email protected]: os ":" darwin "," arch ":" any "} (atual: {" os ":" win32 "," arch ":" ia32 "})
minha configuração é Nó v - 4.4.2 npm v- 3.10.9 estou trabalhando no sistema operacional Windows de 32 bits
npm WARN
é apenas isso - um aviso ao qual vale a pena prestar atenção, mas que na verdade não quebrou nada.Respostas:
É um aviso, não um erro. Isso ocorre porque
fsevents
é uma dependência opcional, usada apenas quando o projeto é executado no ambiente macOS (o pacote fornece 'Acesso nativo a Mac OS-X FSEvents').E como você está executando seu projeto no Windows,
fsevents
é ignorado como irrelevante.Há um PR para corrigir esse comportamento aqui: https://github.com/npm/cli/pull/169
fonte
conditional dependency
seja melhor? Nomear é difícil. Acho que não foi fácil encontrar um bom nome para este caso, mantendo-o conciso.Isso ainda parece ser um problema, fazendo com que as instalações de pacotes sejam abortadas com avisos sobre os pacotes opcionais que não estão sendo instalados devido à "plataforma não suportada".
O problema está relacionado ao "encolhimento" ou
package-lock.json
que persiste após cada execução do gerenciador de pacotes. As tentativas subsequentes continuam falhando, pois este arquivo é referenciado em vez depackage.json
.Adicionar essas opções ao
npm install
comando deve permitir que os pacotes sejam instalados novamente.O comando completo tem a seguinte aparência:
nJoy!
fonte
--no-optional
-flag para código que funciona apenas para se livrar do aviso? Por que não é definido por padrão?npm install -f
: github.com/angular/angular/issues/13935Usando o parâmetro --force:
fonte
npm install
não tenho nenhum aviso, obrigado!