Closed kadoshmt closed 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 :)
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
Windows 10 Home 64 bits Yarn version 1.22.4
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 :)
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?
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 :)
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
Rodando o yarn lint:watch pelo bash do Linux. Mesmo problema. P.S: Apaguei a pasta do node_modules antes
Rodando o yarn test:watch pelo bash do Linux. Mesmo problema também.
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?
Sim, instalei o node pela NVM, e peguei a última versão LTS da v10 (v10.20.1)
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 :)
Não deletei o yarn.lock. Vou fazer isso.
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.
Abaixo o erro com o sqlite3 ao rodar o yarn install
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.
Por fim, o yarn dev funcionou perfeitamente, e até os erros de warning no console sumiram. Pronto para continuar! Obrigado pela força!
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 :)
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.
@fdaciuk