You can use Wasmer in your Rust projects to execute WebAssembly modules securely and conveniently.

Did you know ...?

Some of our language extensions are using the Wasmer Rust crate under the hood.
Check out the Wasmer Rust docs here:

Setup your Rust Environment

To be able to run Wasmer inside our Rust application, we will need Rust installed in our system.
The easiest way to get Rust in your system is via Rustup. To get Rustup on Linux and macOS, you can run the following:
curl -sSf | sh
To install Rust on Windows, download and run rustup-init.exe, then follow the onscreen instructions.
To ensure this is installed, let's run the following:
rustc -V # This will display the Rust version
cargo -V # This will display the Cargo version
If these commands work, Rust is successfully installed!

Published Rust Crates

Wasmer publishes various Crates:
  • wasmer: The Wasmer Runtime
  • Compilers:
  • Integrations:
    • wasmer-wasi: Wasmer's implementation of the WASI standard. This allows you to run Wasm in a POSIX-like environment with a file system and permissions.
    • wasmer-emscripten: Wasmer's implementation of the Emscripten ABI. This allows you to run Wasm in a less sandboxed way in a 32bit Linux-like environment.
Now let's setup your Rust environment!

Start a Rust Project with Wasmer

Now it's time to create a new project and add Wasmer as a dependency:
cargo new wasmer-project --bin
This should generate two important files for us, Cargo.toml and src/ The Cargo.toml is a file that describes your project and its dependencies. The src/ is the entry point for your project, and contains the fn main() { .. } that is run when the project is executed.
Now, edit the Cargo.toml file to add wasmer as a dependency:
# The Wasmer API
wasmer = "3.0"
Next, let's take a look at some examples!