4
respostas

Problema ao executar o ng serve - error TS2502: 'ReadableByteStreamController'

Bom dia, estou enfrentando um erro novo em que não consegui verificar em nenhum portal algo parecido.

Ao executar o comando ng serve, o mesmo realiza build, porém ocorre um erro: "Error: node_modules/@types/node/stream/web.d.ts:484:13 - error TS2502: 'ReadableByteStreamController' is referenced directly or indirectly in its own type annotation.

484 var ReadableByteStreamController: typeof globalThis extends ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Error: node_modules/@types/node/stream/web.d.ts:503:13 - error TS2502: 'ReadableStreamBYOBReader' is referenced directly or indirectly in its own type annotation.

503 var ReadableStreamBYOBReader: typeof globalThis extends { onmessage: any; ReadableStreamBYOBReader: infer T } ~~~~~~~~~~~~~~~~~~~~~~~~ bleStreamBYOBRequest' is referenced directly or indirectly in its own type annotation.

513 var ReadableStreamBYOBRequest: typeof globalThis extends { onmessage: any; ReadableStreamBYOBRequest: infer T }"

Acessando o local host, exibe apenas uma mensagem "Cannot GET /"

Versões:

  • node 16.10
  • angular 14.0.3

Já mudei versões do node, limpei cache do CLI e já recriei o projeto, ocorre sempre o mesmo erro indicado.

Alguém tem algum norte de como resolver esse problema?

4 respostas

Esse erro parece estar relacionado a um problema de incompatibilidade entre as versões do Angular, Node.js, e o TypeScript, especificamente nos tipos associados ao Node.js e às streams web.

Esse tipo de erro pode ser causado por uma versão incompatível dos tipos do Node.js. Tente atualizar os pacotes @types/node e o TypeScript para versões mais recentes.

Execute os seguintes comandos:

npm install typescript@latest @types/node@latest

A versão do Angular 14 pode não estar totalmente compatível com o Node 16.10. Tente usar uma versão mais estável e suportada, como Node 16.13.x (LTS). Você pode mudar a versão do Node usando o nvm (Node Version Manager).

Se você já tiver o nvm instalado, pode usar o seguinte comando para instalar e usar uma versão mais estável do Node:

nvm install 16.13.0
nvm use 16.13.0

Caso já tenha feito isso, tente novamente com:

npm cache clean --force
ng serve --cache=false

Verifique se há algum erro nas configurações do TypeScript no arquivo tsconfig.json. Tente ajustar ou modificar as opções de compatibilidade e libs. Por exemplo:

"compilerOptions": {
  "lib": ["es2018", "dom"],
  "types": ["node"]
}

Algumas vezes, a última versão de @types/node pode causar esse tipo de erro. Tente fazer o downgrade:

npm install @types/node@16

Depois de fazer essas mudanças, tente reconstruir o projeto:

ng serve

Caso essas soluções não resolvam o problema, pode ser interessante verificar os repositórios oficiais do Angular ou Node para questões mais recentes sobre esse tipo de erro.

Também estou com esse erro. Tentei atualizar pra 16 e não adianta

Aqui funcionou depois de npm install typescript@4.x --save-dev

Estava com typescript v5.5.3 instalado tendo os mesmos erros, mesmo utilizando a mesma versão do node e angular. Usei a dica do Davi Nunes npm install typescript@4.x --save-dev e funcionou perfeitamente. Pelo menos aqui, o 'problema' era a compatibilidade com a versão do TS usada