Rust

Rust と WebAssembly 開発環境の構築手順と CI/CD 完全ガイド

ⓘ本ページはプロモーションが含まれています

お得なお知らせ

スポンサードリンク
AI時代のキャリア構築

プログラミング学習、今日から動き出す

「何から始めるか」で止まっている人こそ、無料説明会や本で自分に合うルートを30分で確定できます。

Enjoy Tech!|月額制でWeb系に強い▶ (Kindle本)ITエンジニアの転職学|後悔しないキャリア戦略▶

▶ AIコーディング環境なら  実践Claude Code入門(Amazon)が実務で即使える入門書です。Amazonベストセラーにも選ばれていますよ。


スポンサードリンク

開発環境のインストール

1. rustup の導入

公式インストーラをシェルから実行します。

インストールが完了したら、バージョンを確認してください(2026 年 4 月現在の最新版は rustc 1.76.0 (2025‑10‑10))。

OS 推奨インストール方法
Windows PowerShell で上記コマンド、または rustup-init.exe を公式サイトからダウンロード
macOS 上記 curl コマンド、もしくは Homebrew (brew install rustup-init)
Linux 同上の curl コマンドが最もシンプル

2. 必要なコンポーネントの確認

  • rustc
  • cargo
  • rust-std(標準ライブラリ)

不足しているものは rustup component add <name> でインストールできます。


WASM 用ターゲットの追加

Rust のコードを WebAssembly にコンパイルするために、wasm32-unknown-unknown ターゲットを追加します。

インストール後は以下で確認できます。

ポイント
wasm32-unknown-unknown は「純粋」なバイナリを生成します。ブラウザだけでなく、Node.js や Cloudflare Workers でもそのまま実行できます。


wasm-packwasm-bindgen の導入

wasm-pack

wasm-pack は Cargo プロジェクトのビルド・テスト・公開を一括で管理できるツールです。公式リポジトリ(https://github.com/rustwasm/wasm-pack)から最新版を取得します。

インストール後、バージョンは次のように確認できます。

wasm-bindgen

wasm-bindgen は Rust と JavaScript の相互運用を支援するクレートです。プロジェクトの Cargo.toml に次のように記述します。

参考情報
MDN Web Docs の「Rust → Wasm ガイド」でも、wasm-packwasm-bindgen の組み合わせが推奨されています(2024 年版の記述を踏襲)。


Cargo プロジェクトの作成とサンプルコード

1. プロジェクト雛形の生成

--lib オプションにより、WASM 用のライブラリクレートが作成されます。

2. 実装例:文字列逆転とフィボナッチ

3. テストの実行


フロントエンドへの組み込みとローカルテスト

1. ビルド(Web ターゲット)

--target web はブラウザ向けの ES モジュール形式で生成します。

2. Vite プロジェクトの作成

src/main.js に WASM パッケージを組み込む

3. ローカルサーバで動作確認

ブラウザのコンソールに期待した出力が表示されれば成功です。
デバッグは Chrome DevTools の Sources タブから .wasm ファイルを確認できます。


GitHub Actions を使った CI/CD パイプライン

以下は 2026 年版の公式ドキュメント(https://rustwasm.github.io/wasm-pack/tutorials/github-actions.html)に基づくサンプルです。

補足ポイント

プラットフォーム 主な設定項目 注意点
GitHub Pages publish_dir に Vite の dist/ を指定 .wasm の MIME type が自動で application/wasm になるが、CORS が必要ならヘッダーを追加
Cloudflare Workers wrangler publish コマンド実行 Workers KV と組み合わせる場合はキャッシュ TTL を適切に設定
Netlify netlify deploy --dir=dist _redirects で SPA ルーティングを有効化し、.wasm の MIME type が正しく配信されているか確認

WIT と wasm-tools による次世代コンポーネントモデル(オプショナル)

WebAssembly Interface Types(WIT)は、言語間の型安全なインターフェースを標準化する試みです。Rust エコシステムでは wit-bindgen クレートと wasm-tools CLI が提供されています。

  • WIT ファイル (example.wit) に関数シグネチャや構造体を記述
  • wit-bindgen で Rust のバインディングコードを自動生成
  • wasm-tools component new でコンポーネント形式の .wasm を作成

現時点(2026 年)ではプレビュー段階ですが、主要フレームワーク(React, Svelte, Yew 等)が順次サポートを拡充しています。公式リポジトリと MDN の「WebAssembly Interface Types」ページをご参照ください。


まとめと次のステップ

  1. 開発環境
  2. rustupwasm32-unknown-unknown ターゲットだけで即座に開始可能。
  3. ビルドツールチェーン
  4. wasm-pack + wasm-bindgen が提供するコマンド一式で、ローカルテスト・パッケージ化・公開までシームレスに行える。
  5. サンプルコード
  6. 文字列逆転とフィボナッチ計算は、WASM のデータ受け渡しの基本を学ぶ最適教材。
  7. フロントエンド統合
  8. Vite と組み合わせることで、開発サーバで即時に結果確認が可能。
  9. CI/CD
  10. GitHub Actions のテンプレートに従えば、ビルド・アーティファクト保存・GitHub Pages への自動デプロイまでワンパイプラインで完結。
  11. 次世代コンポーネント(任意)
  12. WIT と wasm-tools を活用すれば、言語横断的なモジュール再利用が容易になる。

今すぐやってみよう

ブラウザで http://localhost:5173 を開き、コンソールに正しい結果が出力されれば環境構築は完了です。

次のステップとして WITwasm-tools に挑戦し、複数言語間で安全にインターフェースを共有できるモジュール化を体験してください。

Happy coding! 🚀

スポンサードリンク

お得なお知らせ

スポンサードリンク
AI時代のキャリア構築

プログラミング学習、今日から動き出す

「何から始めるか」で止まっている人こそ、無料説明会や本で自分に合うルートを30分で確定できます。

Enjoy Tech!|月額制でWeb系に強い▶ (Kindle本)ITエンジニアの転職学|後悔しないキャリア戦略▶

▶ AIコーディング環境なら  実践Claude Code入門(Amazon)が実務で即使える入門書です。Amazonベストセラーにも選ばれていますよ。


-Rust