19 个版本
0.1.23 | 2023 年 8 月 31 日 |
---|---|
0.1.22 | 2023 年 8 月 30 日 |
0.1.20 | 2023 年 6 月 7 日 |
0.1.19 | 2023 年 5 月 24 日 |
0.1.3 | 2022 年 5 月 26 日 |
#106 in Cargo 插件
每月 64 次下载
93KB
2K SLoC
cargo-wasix
Cargo 子命令,用于将 Rust 代码编译为 wasix
,它是 Webassembly wasi
的超集,并增加了额外的功能。
更多信息请访问 wasix.org。
安装
信息
此子命令在 crates.io 上可用
支持的平台
x86_64-unknown-linux-gnu
x86_64-apple-darwin
aarch64-apple-darwin
x86_64-pc-windows-msvc
您可以通过以下方式安装此 Cargo 子命令:
Cargo Install
$ cargo install cargo-wasix
Cargo Binstall
cargo binstall
提供了一种低复杂度的机制来安装 rust 二进制文件,作为从源码构建(通过cargo install
)或手动下载包的替代方案。
使用预构建的二进制文件。
$ cargo binstall cargo-wasix
从安装脚本安装
使用预构建的二进制文件。
适用于 Linux 和 macOS
$ curl --proto '=https' --tlsv1.2 -LsSf https://github.com/wasix-org/cargo-wasix/releases/latest/download/cargo-wasix-installer.sh | sh
适用于 Windows
irm https://github.com/wasix-org/cargo-wasix/releases/latest/download/cargo-wasix-installer.ps1 | iex
验证安装
$ cargo wasix --version
用法
《cargo wasix》子命令是围绕《cargo》子命令的一个薄层包装,为《wasm32-wasmer-wasi》目标提供了优化的默认值。使用《cargo wasix》看起来与使用《cargo》非常相似。
-
cargo wasix build
— 以调试模式为wasix目标构建您的代码。 -
cargo wasix build --release
— 构建您《*.wasm》的优化版本。 -
cargo wasix run
— 执行一个二进制文件。 -
cargo wasix test
— 在《wasm32-wasmer-wasi》上运行您的测试。 -
cargo wasix bench
— 在《wasm32-wasmer-wasi》上运行您的基准测试。
通常情况下,如果您要执行《cargo foo --flag》,您很可能执行《cargo wasix foo --flag》,并且所有内容都将为《wasm32-wasmer-wasi》目标“顺利工作”。
要亲自尝试,请尝试程序的一些hello-world版本!
$ cargo new wasix-hello-world
Created binary (application) `wasix-hello-world` package
$ cd wasix-hello-world
$ cargo wasix run
Compiling wasix-hello-world v0.1.0 (/code/wasix-hello-world)
Finished dev [unoptimized + debuginfo] target(s) in 0.15s
Running `cargo-wasix target/wasm32-wasmer-wasi/debug/wasix-hello-world.wasm`
Running `target/wasm32-wasmer-wasi/debug/wasix-hello-world.wasm`
Hello, world!
或者一个带有一些测试的库
$ cargo new wasix-hello-world --lib
Created library `wasix-hello-world` package
$ cd wasix-hello-world
$ cargo wasix test
Compiling wasix-hello-world v0.1.0 (/code/wasix-hello-world)
Finished dev [unoptimized + debuginfo] target(s) in 0.19s
Running target/wasm32-wasmer-wasi/debug/deps/wasix_hello_world-9aa88657c21196a1.wasm
Running `/code/wasix-hello-world/target/wasm32-wasmer-wasi/debug/deps/wasix_hello_world-9aa88657c21196a1.wasm`
running 1 test
test tests::it_works ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
许可协议
本项目受Apache 2.0许可协议和LLVM特例的许可。有关详细信息,请参阅LICENSE。
贡献
除非您明确说明,否则您提交给本项目的任何有意贡献,根据Apache-2.0许可证定义,将按上述方式许可,不附加任何额外条款或条件。
依赖项
~13-27MB
~454K SLoC