Instalar o WebAssembly localmente

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.

Requisitos da trilha

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:

  1. Abra um terminal (Terminal, cmd, Powershell, bash, ...)
  2. Rode 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.

Node.js

Se o Node.js já estiver instalado

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.

Se o Node.js não estiver instalado

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.

  • Recomendamos usar a versão LTS. Ela também aparece como recomendada no site do Node.js "para a maioria dos usuários".
  • Siga as instruções da página e/ou do instalador e instale o Node.js.

Testando a instalação

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.

  1. Abra um terminal (Terminal, cmd, Powershell, bash, ...)
  2. Rode 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 recognised

Se você usou o instalador oficial, o seu PATH já 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 o PATH para incluir os binários do npm.

No macOS e no Linux, você pode fazer isso adicionando o seguinte ao ~/.bash_profile ou ao ~/.zshrc:

export PATH=/usr/local/share/npm/bin:$PATH

No Windows, abra o menu iniciar e procure por "environment variables". Você vai precisar editar a entrada PATH e adicionar aqui o caminho para os binários do npm. Normalmente, eles ficam em C:\Program Files\nodejs. Se você navegar até lá com o File Explorer, deve encontrar node.exe, npm.bat e npx.bat.

Feche todos os terminais abertos e abra um novo.

Requisitos dos exercícios

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 found

Se você vir isso depois de atualizar o seu exercício, bem-vindo ao npm 7. Apague node_modules e package-lock.json e 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 comando npm procura por um arquivo package.json, que existe em cada pasta de exercício. Esse arquivo lista as "dependencies" acima, que então são baixadas pelo npm e colocadas na pasta node_modules.

Os scripts do package.json usam os binários da pasta local node_modules, e são esses scripts que rodam os testes, como listado na descrição do exercise.