Aprenda a instalar o WebAssembly localmente para resolver os exercícios do Exercism na sua própria máquina
Esta trilha depende do Node.js do começo ao fim para fornecer um ambiente de execução para WebAssembly. Isso significa que presumimos que toda execução de JavaScript no seu computador vai acontecer usando o Node.js.
Muitas máquinas já vêm com o Node.js pré-instalado, ou ele pode ter sido instalado antes, ou ainda como dependência. Então, antes de qualquer coisa, vamos verificar se ele já está instalado:
Terminal, cmd, Powershell, bash, ...)node -v
Se o Node.js estiver instalado, uma versão será exibida.
Anote essa versão.
Se o Node.js não estiver instalado, uma mensagem de erro será exibida.
Normalmente, algo como 'node' is not recognised.
Acesse o site do Node.js.
Ele vai mostrar duas versões (se detectar o seu sistema operacional. Caso contrário, selecione o seu sistema operacional primeiro).
Se a versão mostrada por node -v for uma delas, está tudo certo.
Se não for, recomendamos que você use o Node.js LTS.
Se você tem receio de que atualizar quebre alguma coisa no seu sistema, pode seguir como se estivesse tudo bem;
mas talvez não consigamos oferecer suporte se algo inesperado acontecer.
Existem algumas formas de instalar o Node.js:
As duas opções funcionam no Windows, no macOS e no Linux. Se você não sabe o que fazer, usar um instalador é o mais fácil.
Depois que o instalador terminar, ou que o gerenciador de pacotes concluir, ou que o binário tiver sido copiado e as instruções tiverem sido seguidas, é bom testar se está tudo certo.
Terminal, cmd, Powershell, bash, ...)node -v
A versão deve ser a mesma que aparece no site.
Observação: é importante abrir uma janela de terminal nova. As janelas de terminal que já estavam abertas podem não ter sido atualizadas depois que a instalação terminou. Ou seja, os terminais abertos não sabem que um novo programa foi instalado.
Ajuda:
'node' is not recognisedSe você usou o instalador oficial, o seu
PATHjá deve ter sido configurado automaticamente, mas se o seu shell tiver dificuldade para localizar os módulos instalados globalmente, ou se você compilar o Node.js a partir do código-fonte, atualize oPATHpara incluir os binários donpm.No macOS e no Linux, você pode fazer isso adicionando o seguinte ao
~/.bash_profileou ao~/.zshrc:export PATH=/usr/local/share/npm/bin:$PATHNo Windows, abra o menu iniciar e procure por "environment variables". Você vai precisar editar a entrada
PATHe adicionar aqui o caminho para os binários donpm. Normalmente, eles ficam emC:\Program Files\nodejs. Se você navegar até lá com oFile Explorer, deve encontrarnode.exe,npm.batenpx.bat.Feche todos os terminais abertos e abra um novo.
Siga estas instruções para baixar a CLI do Exercism para o seu sistema operacional.
Depois que a CLI estiver instalada e configurada, baixe o primeiro exercício, o hello-world:
exercism download --exercise=hello-world --track=wasm
Cada exercício também precisa de algumas ferramentas para rodar os testes. Elas podem ser instaladas rodando este comando dentro da pasta de cada exercício:
npm install
Ajuda:
'<package>' is missing / cannot be foundSe você vir isso depois de atualizar o seu exercício, bem-vindo ao npm 7. Apague
node_modulesepackage-lock.jsone rode o comando de novo para resolver.
Se o espaço em disco for uma preocupação e você não se importar em instalar outra ferramenta, dê uma olhada no pnpm, que garante que só uma cópia de cada versão de pacote seja instalada no disco.
Nesse caso, rode pnpm install em vez de npm install, e tudo deve funcionar como esperado.
Mas o que é o npm e por que isso funciona?
Você não precisa dessas informações para completar a trilha de JavaScript, mas se você quiser entender o que acabou de acontecer, os parágrafos a seguir são para você:
Isso funciona porque o
npmé um gerenciador de pacotes que vem junto com o Node.js, que foi instalado seguindo os passos acima. O comandonpmprocura por um arquivopackage.json, que existe em cada pasta de exercício. Esse arquivo lista as"dependencies"acima, que então são baixadas pelonpme colocadas na pastanode_modules.Os scripts do
package.jsonusam os binários da pasta localnode_modules, e são esses scripts que rodam os testes, como listado na descrição doexercise.