26 个版本

0.1.28 2023年6月12日
0.1.27 2023年2月1日
0.1.26 2022年7月6日
0.1.23 2021年7月29日
0.1.18 2019年11月19日

#17Cargo 插件

Download history 2211/week @ 2024-04-14 1763/week @ 2024-04-21 1607/week @ 2024-04-28 1713/week @ 2024-05-05 2039/week @ 2024-05-12 1802/week @ 2024-05-19 1683/week @ 2024-05-26 2471/week @ 2024-06-02 2275/week @ 2024-06-09 2000/week @ 2024-06-16 1784/week @ 2024-06-23 2168/week @ 2024-06-30 1815/week @ 2024-07-07 1671/week @ 2024-07-14 2255/week @ 2024-07-21 1859/week @ 2024-07-28

每月下载量 7,678

Apache-2.0 WITH LLVM-exception

2.5MB
383

cargowasi

一个 Bytecode Alliance 项目

一个轻量级的 Cargo 子命令,用于构建 wasm32-wasi 目标代码。

Crates.io version Download docs.rs docs

指南 | 贡献

安装

要安装此 Cargo 子命令,首先您需要 安装 Rust,然后执行以下命令:

$ cargo install cargo-wasi

之后,您可以通过以下命令验证它是否工作:

$ cargo wasi --version

在指南中了解更多关于安装的信息!

用法

cargo wasi 子命令是围绕 cargo 子命令的一个薄包装,为 wasm32-wasi 目标提供了优化的默认值。使用 cargo wasi 与使用 cargo 非常相似

  • cargo wasi build — 为 wasi 目标构建代码的调试版本。

  • cargo wasi build --release — 构建 *.wasm 的优化版本。

  • cargo wasi run — 执行一个二进制文件。

  • cargo wasi test — 在 wasm32-wasi 中运行您的测试。

  • cargo wasi bench — 在 wasm32-wasi 中运行您的基准测试。

一般来说,如果您原本要执行 cargo foo --flag,您可能可以执行 cargo wasi foo --flag,并且对于 wasm32-wasi 目标,一切都将“顺利工作”。

自己试一试,运行程序的小型示例吧!

$ cargo new wasi-hello-world
     Created binary (application) `wasi-hello-world` package
$ cd wasi-hello-world
$ cargo wasi run
   Compiling wasi-hello-world v0.1.0 (/code/wasi-hello-world)
    Finished dev [unoptimized + debuginfo] target(s) in 0.15s
     Running `cargo-wasi target/wasm32-wasi/debug/wasi-hello-world.wasm`
     Running `target/wasm32-wasi/debug/wasi-hello-world.wasm`
Hello, world!

或者是一个带有一些测试的库

$ cargo new wasi-hello-world --lib
     Created library `wasi-hello-world` package
$ cd wasi-hello-world
$ cargo wasi test
   Compiling wasi-hello-world v0.1.0 (/code/wasi-hello-world)
    Finished dev [unoptimized + debuginfo] target(s) in 0.19s
     Running target/wasm32-wasi/debug/deps/wasi_hello_world-9aa88657c21196a1.wasm
     Running `/code/wasi-hello-world/target/wasm32-wasi/debug/deps/wasi_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

在指南中了解更多关于 cargo wasi 的使用。

许可证

本项目采用 Apache 2.0 许可证,并包含 LLVM 异常。更多详情请参阅 [LICENSE]。

贡献

除非您明确表示,否则您提交给本项目并希望包含在内的任何贡献,根据 Apache-2.0 许可证定义,将按照上述许可,不附加任何额外条款或条件。

查看指南中的贡献部分,开始对 cargo wasi 进行修改!

依赖关系

~0-13MB
~170K SLoC