Newer
Older
TelosDB / journals / 20260214-Environment_Fix_and_Tauri_Restoration.md
@楽曲作りまくりおじさん 楽曲作りまくりおじさん 9 hours ago 2 KB refactor(journals): mask absolute paths and update environment docs

20260214-Environment_Fix_and_Tauri_Restoration

概要

2026年2月14日の活動記録まとめ。初期の Git Push エラー解消から始まり、Tauri アプリケーションの深刻な実行時エラー STATUS_ENTRYPOINT_NOT_FOUND (0xc0000139) の解決まで、開発環境の根本的な再構築を行った。

1. 前提課題の解決 (Git Push Error)

  • 問題: src refspec main does not match any エラーによりリモートへのプッシュが失敗。
  • 対処: ローカルブランチとリモートブランチの不整合を解消し、正常にプッシュ可能な状態を復旧。

2. エントリポイントエラー (0xc0000139) の解決

現状分析と原因特定

  • 現象: cargo testtauri dev 実行直後にプロセスがクラッシュ。
  • 調査:
    • test_minimal を作成し、Tauri 依存最小限での再現を確認。
    • dumpbin による依存関係解析で、MinGW (GNU) 系の DLL と MSVC 系の DLL が混在していることを発見。
    • 特に WebView2Loader.dll のロード時に、ビルドチェーンの不整合(build.rs によるテストバイナリへの GUI リソース強制リンク)が原因であることを突き止めた。

実施した対策

MinGW の完全排除

  • システム PATH から C:\msys64 等の GNU ツールチェーンを削除。
  • 開発環境を Microsoft Visual C++ (MSVC) に一本化。

ビルドプロセスの修正

  • src/backend/build.rs を修正し、cargo test ビルド時には tauri_build::build() をスキップするように変更。
    • これにより、ロジックテスト(DB/MCP)と GUI リソースの依存関係を分離し、テスト時の DLL 競合を回避。

環境サニタイズ

  • cargo clean による過去のビルド成果物の破棄。
  • 依存関係 (Cargo.toml, Cargo.lock) のリフレッシュ。

検証結果

  • Unit Test: cargo test による全ロジックテスト(SQLite, Sea-ORM, MCP)が SUCCESS
  • Compile Check: cargo check --lib による全コードのコンパイルが SUCCESS
  • Integration: MCP サーバーおよび Llama Sidecar 連携コードが正常に動作することを確認。

アーキテクチャ図 (修正後)

graph TD
    subgraph Build_Environment
        Toolchain[MSVC Toolchain]
        Path[Sanitized PATH]
    end

    subgraph Project_Structure
        BuildRS[build.rs] -- Conditional Logic --> TestBin[Test Binary]
        BuildRS -- Full Build --> AppBin[App Binary]
    end

    subgraph Runtime
        AppBin --> WebView2[WebView2 Runtime]
        TestBin -.->|SKIP| WebView2
    end

    Toolchain --> Project_Structure
    Path --> Runtime

成果物

  • walkthrough.md: エラー解消の手順書
  • README.md: 最新の環境要件(MSVC 必須)を反映したドキュメント