Prerequisites for the getting started guide

Dependencies you may need to install for this guide

Rust & Cargo

Vino can run WebAssembly built from any language, but the current code generation tools prioritize Rust above others and this guide expects a Rust development environment with Cargo.

Install rust & cargo via rustup for Windows, Mac, or Linux. Windows users may need to install the C++ build tools with the “Desktop development with C++” module.

WebAssembly target for Rust

To build WebAssembly from Rust, you will need to install a suitable target for the compiler.

Install the wasm32 target via rustup using

rustup target add wasm32-unknown-unknown

Node.js & npm

Vino’s support scripts are written in JavaScript and some WIDL parsing and code generation depends on node.js.

Install node.js & npm via nvm on Mac or Linux or nvm-windows on Windows.

tomlq

tomlq is a command line parser for TOML files and Vino uses it to automatically populate command-line flags and Makefile rules.

Install tomlq with

cargo install tomlq

vino-codegen

vino-codegen is Vino’s code generator for a wide variety of formats. vino-codegen is frequently used to automatically generate code from WIDL schemas.

Install vino-codegen via npm install -g @vinodotdev/codegen

Yeoman & yo-vino

Yeoman is a popular project setup tool and Vino provides a generator that automates the creation of new Vino WebAssembly components.

Install yeoman’s command line tool yo and Vino’s generator with:

npm install -g yo generator-vino

make on Windows

Vino and generated projects use Makefiles to automate builds and code generation. The easiest way to install make on Windows is via Chocolatey.

$ choco install make

Optional: docker and oras for publishing artifacts

Docker is a platform for running containers and the oras project is a standard way of interfacing with arbitrary OCI registries. They are not required to build the project but docker is used to spin up a local registry and oras is used to publish an artifact to demonstrate remote execution.

Install docker from docker.com.

Install oras from oras.land/cli/.