WebAssembly (Wasm) への Golang のコンパイル
コマンド GOOS=js GOARCH=wasm go build を使用して Go コードを Wasm にコンパイルする場合 - o main.wasm、Wasmtime または Wasm3 の実行中にエラーが発生する可能性があります。
エラーと解決策
このエラーは、go::debug インポートが定義されていないことを示します。 Go コンパイラーによって生成される main.wasm ファイルは、wasm_exec.js shim で使用することを目的としています。これを修正するには、次のコマンドで Node.js を使用します:
<code class="sh">node wasm_exec.js main.wasm</code>
Wasm3を使用するとこのエラーが発生します。代わりに、WebAssembly System Interface (WASI) をサポートする Tinygo で次のコマンドを使用してコンパイルしてみてください:
<code class="sh">tinygo build -target=wasi -o main.wasm main.go</code>
Go はブラウザ外で Wasm を最先端にサポートしています。これを利用するには、次の手順を使用してソースから Go をコンパイルします。
<code class="sh">go install golang.org/dl/gotip@latest gotip download</code>
<code class="sh">GOOS=wasip1 GOARCH=wasm gotip build -o main.wasm</code>
このアプローチにより、追加の変更を加えずに Wasmtime を使用してプログラムを実行できるようになります。
以上がコンパイル時のエラーを解決する方法 WebAssembly (Wasm) に移動の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。