Wasmer is a fast and secure WebAssembly runtime that enables super lightweight containers to run anywhere: from Desktop to the Cloud, Edge and IoT devices.
This document is also available in: π¨π³ δΈ ζ -Chinese β’ π©πͺ Deutsch-German β’ πͺπΈ EspaΓ±ol-Spanish β’ π«π· FranΓ§ais-French β’ π―π΅ ζ₯ζ¬ θͺ -Japanese β’ π°π· νκ΅μ΄ -Korean.
- Secure by default. No file, network, or environment access, unless explicitly enabled.
- Supports WASI and Emscripten out of the box.
- Fast. Run WebAssembly at near-native speeds.
- Embeddable in multiple programming languages
- Compliant with latest WebAssembly Proposals (SIMD, Reference Types, Threads, ...)
Wasmer CLI ships as a single executable with no dependencies.
curl https://get.wasmer.io -sSfL | sh
Other installation options (Powershell, Brew, Cargo, ...)
Wasmer can be installed from various package managers. Choose the one that fits best for your environment:
-
Powershell (Windows)
iwr https://win.wasmer.io -useb | iex
-
Homebrew (macOS, Linux)
brew install wasmer
-
Scoop (Windows)
scoop install wasmer
-
Chocolatey (Windows)
choco install wasmer
-
cargo binstall wasmer
-
Note: All the available features are described in the
wasmer-cli
crate docscargo install wasmer-cli
Looking for more installation options? See the
wasmer-install
repository to learn more!
You can start by running
QuickJS, a small and
embeddable Javascript engine compiled as a WebAssembly module (qjs.wasm
):
$ wasmer qjs.wasm
QuickJS - Type "\h" for help
qjs > const i = 1 + 2;
qjs > console.log("hello " + i);
hello 3
The Wasmer runtime can be used as a library embedded in different languages, so you can use WebAssembly anywhere.
Language | Package | Documentation | |
---|---|---|---|
Rust | wasmer Rust crate |
Learn | |
C | wasm.h header |
Learn | |
C++ | wasm.hh header |
Learn | |
C# | WasmerSharp NuGet package |
Learn | |
D | wasmer Dub package |
Learn | |
Python | wasmer PyPI package |
Learn | |
Javascript | @wasmerio NPM packages |
Learn | |
Go | wasmer Go package |
Learn | |
PHP | wasm PECL package |
Learn | |
Ruby | wasmer Ruby Gem |
Learn | |
Java | wasmer/wasmer-jni Bintray package |
Learn | |
Elixir | wasmex hex package |
Learn | |
R | no published package | Learn | |
Postgres | no published package | Learn | |
Swift | no published package | ||
Zig | no published package | ||
Dart | wasm pub package |
||
Crystal | no published package | Learn | |
Lisp | no published package | ||
Julia | no published package | ||
V | no published package |
We appreciate your help! π
We recommend reading the following guide on how to contribute into a complex project successfully: https://mitchellh.com/writing/contributing-to-complex-projects
Check our docs on how to build Wasmer from source or test your changes.
Wasmer has an amazing community of developers and contributors. Welcome, please join us! π