Repolode
bytecodealliance

bytecodealliance/wasmtime

Craneliftコードジェネレーターを基盤とするスタンドアロンのWebAssemblyランタイム。WASIに対応し、複数言語から組み込めます。

スター
18,744
フォーク
1,879
未解決の Issue
888
最終コミット
4 時間前

これは何?

Wasmtimeは、ブラウザー内外で実行できるポータブルなバイナリ形式であるWebAssembly向けのスタンドアロンランタイムです。wasmtime CLIを使ってコマンドラインからWebAssemblyコンポーネントを実行できるほか、Rust crateや、C、C++、Python、.NET、Go、Ruby向けのバインディングを通じてアプリケーションに組み込めます。

Craneliftコードジェネレーターを使ってモジュールをコンパイルします。実行時のJITコンパイルと事前コンパイルのどちらにも対応しています。CPUとメモリの使用量を設定でき、ゲストプログラムがファイルやシステムリソースなどのホスト環境とやり取りするためのWASI APIを提供します。プロジェクトによると、公式WebAssemblyテストスイートに合格し、公式のwasm C APIを実装しています。

WasmtimeはBytecode Allianceのもとでメンテナンスされており、Rustで実装されています。

主な機能

  • 01Craneliftコードジェネレーターを使い、WebAssemblyを実行時または事前にコンパイルします。
  • 02ゲストプログラムがホストリソースにアクセスするためのWASI APIを提供します。
  • 03CPUとメモリの消費量を設定できます。
  • 04WebAssemblyコンポーネントを直接実行するCLIを備えています。
  • 05Rust、C、C++、Python、.NET、Go、Ruby向けの組み込み用バインディングを提供します。

ユースケース

  • コマンドラインからWebAssemblyコンポーネントを実行する。
  • RustまたはCのアプリケーションに、サンドボックス化されたWebAssemblyランタイムを組み込む。
  • WASI経由でホスト環境にアクセスする、信頼できないプラグインコードを実行する。

クイックスタート

  1. 1

    公式のインストールスクリプトまたはリリースページからWasmtime CLIをインストールします

  2. 2

    RustにWebAssembly WASIターゲットを追加します

    rustup target add wasm32-wasip2
  3. 3

    Rustのhello-worldプログラムをWebAssemblyコンポーネントにコンパイルします

    rustc hello.rs --target wasm32-wasip2
  4. 4

    コンパイルしたコンポーネントをWasmtimeで実行します

    wasmtime hello.wasm

使う前に知っておきたいこと

  • 1行のインストールスクリプトが案内されているのはLinuxとmacOSのみです。Windowsユーザーはリリースページを利用する必要があります。

トピック

よくある質問

wasmtime とは?
Craneliftコードジェネレーターを基盤とするスタンドアロンのWebAssemblyランタイム。WASIに対応し、複数言語から組み込めます。 Wasmtimeは、ブラウザー内外で実行できるポータブルなバイナリ形式であるWebAssembly向けのスタンドアロンランタイムです。wasmtime CLIを使ってコマンドラインからWebAssemblyコンポーネントを実行できるほか、Rust crateや、C、C++、Python、.NET、Go、Ruby向けのバインディングを通じてアプリケーションに組み込めます。
wasmtime は無料で使えますか?ライセンスは?
wasmtime は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
wasmtime は今もメンテナンスされていますか?
活発にメンテナンス中。wasmtime の最終コミットは 2026年10月21日 です。
wasmtime は何に使えますか?
コマンドラインからWebAssemblyコンポーネントを実行する。 RustまたはCのアプリケーションに、サンドボックス化されたWebAssemblyランタイムを組み込む。 WASI経由でホスト環境にアクセスする、信頼できないプラグインコードを実行する。
wasmtime のインストール方法は?
公式のインストールスクリプトまたはリリースページからWasmtime CLIをインストールします RustにWebAssembly WASIターゲットを追加します: rustup target add wasm32-wasip2 Rustのhello-worldプログラムをWebAssemblyコンポーネントにコンパイルします: rustc hello.rs --target wasm32-wasip2 コンパイルしたコンポーネントをWasmtimeで実行します: wasmtime hello.wasm
wasmtime はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/bytecodealliance/wasmtime

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト