Hello World (Windows)

Windows に C++ Build Tools・WebView2・Rust (MSVC 版)・Node.js を入れ、create-tauri-app の Tauri 2 アプリを起動するまで。PATH・実行ポリシーの落とし穴も示す。

環境構築 対象: Tauri 2.x 更新日: 読了目安: 約7分 env-001
目次
  1. 前提条件
  2. 1. Microsoft C++ Build Tools のインストール
  3. 2. WebView2 の確認
  4. 3. Rust のインストール
  5. 4. Node.js のインストール
  6. 5. プロジェクトの作成
  7. 6. アプリの起動
  8. 動作確認
  9. よくあるエラーと対処法
  10. 「error: linker link.exe not found」
  11. 「用語 'cargo' は、…認識されません。」
  12. 「このシステムではスクリプトの実行が無効になっているため、ファイル C:\Program Files\nodejs\npm.ps1 を読み込むことができません。」
  13. OS ごとの違いと注意点
  14. 関連レシピ

Windows で Tauri 2 の開発を始めるための最初の一歩です。Tauri のアプリは、Rust でビルドした実行ファイルが Windows 標準の Microsoft Edge WebView2 に画面を描かせる構成です。必要なのは「C++ Build Tools」「WebView2」「Rust (MSVC 版)」「Node.js」の 4 つで、Visual Studio 本体 (IDE) は要りません。

前提条件

  • Windows 10 (バージョン 1803 以降) か Windows 11。x64 と ARM64 のどちらでも開発できます。
  • Build Tools のインストールに管理者権限が要ります。ディスクは Build Tools に数 GB、ビルド結果の target フォルダーに 1 GB 以上を見込みます。
  • プロジェクトは OneDrive で同期されるフォルダーを避け、C:\dev などに作ります (target に数千のファイルができるため)。

1. Microsoft C++ Build Tools のインストール

Rust の MSVC 版は、Microsoft のリンカー (link.exe) と Windows SDK で実行ファイルを作ります。Microsoft C++ Build Tools のインストーラーを実行し、「ワークロード」タブで「C++ によるデスクトップ開発」にチェックを入れてインストールします。C++ のワークロード付きの Visual Studio があれば不要です。winget ならワークロードを指定して入れます。

winget install --id Microsoft.VisualStudio.BuildTools --override "--wait --passive --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"

2. WebView2 の確認

Windows 11 と、Windows 10 のバージョン 1803 以降には WebView2 Runtime が最初から入っています。レジストリの値でバージョンを確かめられます。

(Get-ItemProperty 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}').pv
# 152.0.4191.66

エラーになる場合は、WebView2 のページ から「Evergreen Bootstrapper」を入れます (入っている PC で実行しても害はありません)。

3. Rust のインストール

rustup.rs の rustup-init.exe を実行するか、winget で入れます。

winget install --id Rustlang.Rustup

rustup-init.exe では 1) Proceed with standard installation を選びます。既定のツールチェーンは x86_64-pc-windows-msvc (ARM64 の PC では aarch64-pc-windows-msvc) です。Tauri は MSVC 版が前提なので、GNU 版 (-windows-gnu) に変えないでください。

インストール後は、開いているターミナルをすべて閉じてから新しく開いて確認します。

rustc --version
cargo --version
rustup show

rustup show で既定が MSVC 版になっていれば準備完了です。GNU 版になっていたら rustup default stable-msvc で切り替えます。

Default host: x86_64-pc-windows-msvc
rustup home:  C:\Users\<ユーザー名>\.rustup

installed toolchains
--------------------
stable-x86_64-pc-windows-msvc (active, default)

4. Node.js のインストール

Node.js 公式サイト の LTS 版インストーラー (.msi) を実行するか、winget で入れます。バージョンを切り替えたいなら nvm-windows や fnm でも構いません。

winget install --id OpenJS.NodeJS.LTS
# ターミナルを開き直してから
node -v
npm -v

5. プロジェクトの作成

cd C:\dev
npm create tauri-app@latest

質問には次のように答えます。Rust などが見つからないと「Your system is missing dependencies」と表示されるので、手順 1〜4 を見直します。

  • Project name: hello-tauri
  • Identifier: com.example.hello-tauri
  • Choose which language to use for your frontend: TypeScript / JavaScript
  • Choose your package manager: npm
  • Choose your UI template: Vanilla
  • Choose your UI flavor: TypeScript
cd hello-tauri
npm install

Windows PowerShell 5.1 で cd hello-tauri && npm install のように && でつなぐと「トークン '&&' は、このバージョンでは有効なステートメント区切りではありません。」になるので、1 行ずつ実行します。Tauri CLI はこの npm install でプロジェクトに入ります (Tauri v2 CLI ツールをインストールする)。

6. アプリの起動

npm run tauri dev

初回は数百のクレートをダウンロードしてコンパイルするので数分かかります。2 回目以降は変更した部分だけのビルドで、数秒〜数十秒で開きます。

動作確認

ウィンドウが開き、「Welcome to Tauri」の見出しと入力欄が表示されれば成功です。名前を入れて「Greet」を押すと Rust 側の greet コマンドが呼ばれ、Hello, <名前>! You've been greeted from Rust! と表示されます。

環境がそろっているかは、プロジェクトのフォルダーで npm run tauri info を実行して確かめます。Windows 11 でも OS の行は Windows 10.0.<ビルド番号> と出ます。WebView2 や MSVC の行に ✔ が無ければ、手順 1・2 を見直します。

[✔] Environment
    - OS: Windows 10.0.26200 x86_64 (X64)
    ✔ WebView2: 152.0.4191.66
    ✔ MSVC: Visual Studio Build Tools 2026
    ✔ rustc: 1.92.0 (ded5c06cf 2025-12-08)
    ✔ cargo: 1.92.0 (344c4567c 2025-10-21)
    ✔ rustup: 1.28.2 (e4f3ad6f8 2025-04-28)
    ✔ Rust toolchain: stable-x86_64-pc-windows-msvc (default)
    - node: 24.12.0
    - npm: 11.13.0

よくあるエラーと対処法

「error: linker link.exe not found」

続けて「the msvc targets depend on the msvc linker but link.exe was not found」と出ます。Build Tools が無いか、「C++ によるデスクトップ開発」を選ばずに入れています。Visual Studio Installer の「変更」からワークロードを追加し、ターミナルを開き直します。

「用語 'cargo' は、…認識されません。」

PowerShell で cargo や node が見つからないときの表示です。インストール前から開いていたターミナルは PATH が古いままです。VS Code の統合ターミナルは VS Code 起動時の環境を引き継ぐので、VS Code ごと再起動します。

「このシステムではスクリプトの実行が無効になっているため、ファイル C:\Program Files\nodejs\npm.ps1 を読み込むことができません。」

PowerShell の実行ポリシーで npm の npm.ps1 が止められています。自分のユーザーだけ許可するなら次を実行します。npm.cmd と打つか、コマンドプロンプトで作業しても回避できます。

Set-ExecutionPolicy -Scope CurrentUser RemoteSigned

OS ごとの違いと注意点

  • WebView2 は Chromium 系: macOS と Linux は WebKit 系なので、Windows だけで確かめた CSS や JS が崩れることがあります (Hello World (Mac)・Hello World (Ubuntu))。
  • 利用者の PC の WebView2: tauri build のインストーラーは、既定 (bundle.windows.webviewInstallMode が downloadBootstrapper) で、必要なら WebView2 をダウンロードして入れます。
  • MSI を作る場合: light.exe の実行に失敗したという趣旨のエラーが出たら、Windows の「オプション機能」で VBSCRIPT を有効にします (Windows 用インストーラー (MSI) を作る)。
  • 改行コード: create-tauri-app が Windows で作るファイルは CRLF です。Git で管理するなら最初に揃えます (Git の設定と .gitignore を適用する)。

関連レシピ

参考リンク(公式ドキュメント)

Web Ninja

この記事を書いた人

Web Ninja ウェブエンジニア (Web Engineer)

会社員ネットワークエンジニアから独立してかれこれ 25 年以上 Web エンジニアとして活動中。普段は JavaScript と Node.js を自在に操り、時には C++ や Perl といった古流の技も嗜みます。近年は Tauri × Rust という新たな武器を手に、デスクトップアプリ開発の最前線を駆け抜けています。「作りたい」を「作れる」に変えるための、実践的な「技」をお届けします。

お問い合わせ: tauri.ninja@gmail.com

内容の誤り・動かないコードを報告する