mirror of
https://github.com/mii443/wasmer.git
synced 2025-12-12 05:18:43 +00:00
- Implemented multi-threading for both JS and SYS, plus other WASIX implementations - Added a longjmp capability required for bash and other WASIX implementations - Added real signals to WASIX - Added a stack unwinding and winding functionality - Implemented memory forking which will be used for process forking - Added the ability to fork the current process - Added the vfork functionality - Moved over to the WasiPipe implementation - Added more syscalls needed for bash on WASIX - Ported wasmer-os into wasmer - Added a union file system and the character devices - Moved the cursors to the file handles rather than the file so that they are multithread safe and can handle concurrent IO - Reimplemented the poll_oneoff functionality to support full ASYNC - Added support for mapping directories in the host file system into WASIX sandbox file systems - Implemented fully ASYNC sockets and emulated ASYNC files - Made the file locks more granular to allow for concurrent poll and accept operations - Fixed a race condition on the event notifications
wasmer-cli

This crate is the Wasmer CLI.
The recommended way to install wasmer is via the wasmer-installer.
However, you can also install wasmer via Cargo (you will need to specify the compilers to use):
cargo install wasmer-cli --features "singlepass,cranelift"
Or by building it inside the codebase:
cargo build --release --features "singlepass,cranelift"
Note: installing
wasmervia Cargo (or manual install) will not install the WAPM cli. If you want to use them together, please use the wasmer installer.
Features
The Wasmer supports the following features:
wat(default): support for executing WebAssembly text files.wast(default): support for running wast test files.cache(default): support or automatically caching compiled artifacts.wasi(default): support for WASI.experimental-io-devices: support for experimental IO devices in WASI.emscripten(default): support for Emscripten.singlepass: support for the Singlepass compiler.cranelift: support for the Cranelift compiler.llvm: support for the LLVM compiler.
CLI commands
Once you have Wasmer installed, you can start executing WebAssembly files easily:
Get the current Wasmer version:
wasmer -V
Execute a WebAssembly file:
wasmer run myfile.wasm
Compile a WebAssembly file:
wasmer compile myfile.wasm -o myfile.wasmu
Run a compiled WebAssembly file (fastest):
wasmer run myfile.wasmu