da2k / curso-reactjs-ninja

916 stars 323 forks source link

M3#A29 - Erro com o Jest (Watch) e Gulp #478

Closed kadoshmt closed 4 years ago

kadoshmt commented 4 years ago

Olá @fdaciuk, Copiei os arquivos do repositório, pasta examples/m03/samples/14-todo-list e fiz a instalação do cross-spawn descomentei a linha (const { spawn } = require('cross-spawn')), comentando a outra linha desta constante para rodar no Windows 10 (tb adicionei o shell: true na const cmd)

Mesmo assim, o lint:watch não roda, retornando um erro: `args[1]->IsString()' failed.

O Jest Watch até roda, mas parece estar com problemas em interpretar o código, pois ele dá erro no primeiro import (se mudra os imports de posição, ele sempre quebra no primeiro import, logo após a palavra import.

Desta forma está sendo impossível continuar implementando e testando, sendo possível apenas acompanhar as aulas com os arquivos já implementados.

Annotation 2020-05-31 155405

@fdaciuk

fdaciuk commented 4 years ago

Oi @kadoshmt! Compartilha comigo o seu código em um repositório aqui no GitHub, que eu baixo aqui e tento simular o erro, pra te ajudar a descobrir o que aconteceu :)

kadoshmt commented 4 years ago

https://github.com/kadoshmt/reactjsninja-todo-list

Basicamente é o código da pasta 14-todo-list. Rodei o yarn install e depois os comandos yarn test:watch e yarn lint:watch

kadoshmt commented 4 years ago

Windows 10 Home 64 bits Yarn version 1.22.4

fdaciuk commented 4 years ago

Oi @kadoshmt! Provavelmente é a versão do node.js.. essa versão do gulp deve funcionar com a v10 do Node.

Instale o Node.js na v10, delete a node_modules e o yarn.lock e faça a instalação das dependências novamente (rodando yarn na raiz do diretório). Isso deve resolver :)

Se ainda não estiver usando, recomendo instalar o WSL, que vai instalar um subsistema linux no seu windows 10, e você terá acesso a todas as features de um terminal linux, dentro do seu windows :)

Assim você consegue instalar o NVM para gerenciar as versões do Node.js, e pode ter mais de uma versão instalada no seu PC, para testar coisas diferentes :)

kadoshmt commented 4 years ago

Olá @fdaciuk , Fiz a ativação do WSL (na verdade, já tinah ativado antes) e baixei na Microsoft Store o Ubuntu 20.04 TLS. Agora estou com uma dúvida quanto à instalação do NVM. Devo utilizar o NVM for Windows NVM for Windows ou fazer a instalação do pacote como se tivesse fazendo isso no Linux? Outra coisa, será preciso remover o Node.js do Windows e sempre realizar a instalação das versões pelo Ubuntu?

fdaciuk commented 4 years ago

Oi @kadoshmt! Legal :) Pra fazer a instalação do NVM, vc faz pelo Ubuntu. Aqui as orientações: https://github.com/nvm-sh/nvm#installing-and-updating

Pode remover o node.js do windows, sem problemas. Não sei te dizer se daria conflito com a versão do Ubuntu. Acredito que não, mas o ideal é não usar a versão windows: sempre que for instalar qualquer coisa que precise do terminal, instale pelo Ubuntu :)

kadoshmt commented 4 years ago

Bem.. Meu conhecimento em Linux é bastante limitado. Não compreendi este trecho de código, o que ele faz (e não funcionou aqui também)

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
kadoshmt commented 4 years ago

Annotation 2020-06-01 145800

kadoshmt commented 4 years ago

Rodando o yarn lint:watch pelo bash do Linux. Mesmo problema. P.S: Apaguei a pasta do node_modules antes

Annotation 2020-06-01 151902

kadoshmt commented 4 years ago

Rodando o yarn test:watch pelo bash do Linux. Mesmo problema também.

Annotation 2020-06-01 152136

fdaciuk commented 4 years ago

Bem.. Meu conhecimento em Linux é bastante limitado. Não compreendi este trecho de código, o que ele faz (e não funcionou aqui também)

Você conseguiu instalar o node.js pelo NVM? Se sim, não precisa fazer nada com essa linha :)

Sobre os erros: se você instalou o node pelo NVM, vc instalou a v10?

kadoshmt commented 4 years ago

Sim, instalei o node pela NVM, e peguei a última versão LTS da v10 (v10.20.1)

fdaciuk commented 4 years ago

Chegou a deletar o yarn.lock também? É importante deletar esse arquivo e a node_modules antes de fazer uma nova instalação com o Yarn, pois o yarn.lock trava algumas versões que podem estar em conflito :)

kadoshmt commented 4 years ago

Não deletei o yarn.lock. Vou fazer isso.

kadoshmt commented 4 years ago

Embora tenha dado alguns erros (como o do sqlite3), aparentemente está funcionando. No caso do yarn test:watch deu alguns warnings de Handlebars, mas os testes passaram.

Annotation 2020-06-01 164614

Abaixo o erro com o sqlite3 ao rodar o yarn install

Annotation 2020-06-01 164336

kadoshmt commented 4 years ago

O Lint também parece estar funcionando. Deu uns enter numa linha para ver se ele apontava o erro, e ele apontou. Depois de desfazer as alterações no arquivo, o erro não aparecia mais.

Annotation 2020-06-01 165206

kadoshmt commented 4 years ago

Por fim, o yarn dev funcionou perfeitamente, e até os erros de warning no console sumiram. Pronto para continuar! Obrigado pela força!

Annotation 2020-06-01 165621

fdaciuk commented 4 years ago

Perfeito meu caro! As mensagens ali do sqlite 3 eram pra aparecer mesmo, pode seguir tranquilo :) Que bom que deu tudo certo! Qualquer coisa, só avisar :)