Instalar WebAssembly localmente

Aprende a instalar WebAssembly localmente para resolver los ejercicios de Exercism en tu propio ordenador


Este track se apoya en Node.js para proporcionar un entorno de ejecución para WebAssembly. Esto significa que suponemos que toda la ejecución de JavaScript en tu ordenador se hará con Node.js.

Requisitos del track

Muchas máquinas vienen con Node.js preinstalado, o puede que ya se haya instalado antes, o como dependencia. Así que, antes de hacer nada, conviene comprobar si ya está instalado:

  1. Abre una terminal (Terminal, cmd, Powershell, bash, ...)
  2. Ejecuta node -v

Si Node.js está instalado, se mostrará una versión. Anota esta versión. Si Node.js no está instalado, se mostrará un error. Normalmente, algo del estilo de 'node' is not recognised.

Node.js

Si Node.js ya está instalado

Ve a la web de Node.js. Mostrará dos versiones (si detecta tu sistema operativo. Si no, selecciona primero tu sistema operativo). Si la versión que te devuelve node -v coincide con una de ellas, todo en orden. Si no, te recomendamos que uses Node.js LTS. Si te preocupa que actualizar pueda romper algo en tu sistema, puedes continuar como si todo estuviera bien; eso sí, puede que no podamos ofrecerte soporte si ocurre algo inesperado.

Si Node.js no está instalado

Hay un par de formas de instalar Node.js:

Ambas opciones son compatibles con Windows, macOS y Linux. Si no sabes qué hacer, lo más fácil es usar un instalador.

  • Te recomendamos usar la versión LTS. En la web de Node.js también aparece como recomendada «para la mayoría de los usuarios».
  • Sigue las instrucciones de la página web o las que aparezcan durante la instalación e instala Node.js.

Probar la instalación

Cuando el instalador haya terminado, o el gestor de paquetes haya acabado, o se haya copiado el binario y se hayan seguido las instrucciones, conviene comprobar que todo esté bien.

  1. Abre una terminal (Terminal, cmd, Powershell, bash, ...)
  2. Ejecuta node -v

La versión debería coincidir con la de la web.

Nota: Es importante abrir una ventana de terminal nueva. Puede que las ventanas de terminal que ya estén abiertas no se hayan actualizado al terminar la instalación. Eso significa que esos terminales no saben que se ha instalado un programa nuevo.

Ayuda: 'node' is not recognised

Si has usado el instalador oficial, tu PATH debería haberse configurado automáticamente, pero si tu shell tiene problemas para localizar tus módulos instalados globalmente, o si compilas Node.js desde el código fuente, actualiza tu PATH para incluir los binarios de npm.

En macOS y Linux puedes hacerlo añadiendo lo siguiente a ~/.bash_profile o a ~/.zshrc:

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

En Windows, abre el menú de inicio y busca «environment variables». Tendrás que editar la entrada PATH y añadir aquí la ruta a los binarios de npm. Normalmente, se encuentran en C:\Program Files\nodejs. Si navegas hasta ahí con el File Explorer, deberías encontrar node.exe, npm.bat y npx.bat.

Cierra todos los terminales abiertos y abre uno nuevo.

Requisitos del ejercicio

Sigue estas instrucciones para descargar la CLI de Exercism para tu sistema operativo.

Cuando la CLI esté instalada y configurada, descarga el primer ejercicio, hello-world:

exercism download --exercise=hello-world --track=wasm

Cada ejercicio necesita después algunas herramientas para ejecutar las pruebas. Puedes instalarlas ejecutando este comando dentro del directorio de cada ejercicio:

npm install

Ayuda: '<package>' is missing / cannot be found

Si ves esto después de actualizar tu ejercicio, bienvenido a npm 7. Elimina node_modules y package-lock.json y vuelve a ejecutar el comando para resolverlo.

Si te preocupa el espacio en disco y no te importa instalar otra herramienta, echa un vistazo a pnpm, que garantiza que solo se instale en disco una copia de cada versión de paquete. En ese caso, ejecuta pnpm install en lugar de npm install, y todo debería funcionar como se espera.

Pero, ¿qué es npm y por qué funciona esto?

No necesitas esta información para completar el track de JavaScript, pero si tienes ganas de entender qué acaba de pasar, los siguientes párrafos son para ti:

Esto funciona porque npm es un gestor de paquetes que viene incluido con Node.js, que se ha instalado siguiendo los pasos anteriores. El comando npm busca un archivo package.json, que está presente en cada carpeta de ejercicio. Este archivo enumera las "dependencies" mencionadas arriba, que npm descarga y coloca en la carpeta node_modules.

Los scripts de package.json usan los binarios de la carpeta local node_modules, y son estos scripts los que se usan para ejecutar las pruebas, como se indica en la descripción de exercise.