Ralat dan Penyelesaian Kompilasi Golang ke WASM
Menyusun kod Go ke WebAssembly (WASM) menggunakan arahan GOOS=js GOARCH=wasm go build -o main.wasm boleh mengakibatkan ralat apabila melaksanakan dengan wasmtime dan wasm3.
Ralat dengan wasmtime:
Error: failed to run main module `main.wasm` Caused by: 0: failed to instantiate "main.wasm" 1: unknown import: `go::debug` has not been defined
Ralat dengan wasm3:
Error: function lookup failed ('_start')
Maksud Ralat:
Membetulkan Ralat:
Penyelesaian berikut boleh menyelesaikan ralat ini:
Gunakan Node.js dengan wasm_exec.js:
Jalankan arahan berikut:
node wasm_exec.js main.wasm
Kompilasi dengan Tinygo (dengan sokongan WASI):
Gunakan arahan berikut:
tinygo build -target=wasi -o main.wasm main.go
Ini akan mencipta modul WASM yang boleh dijalankan dengan wasmtime.
Dayakan sokongan WASM percubaan dalam Go:
Kompilasi Go daripada sumber menggunakan arahan berikut:
go install golang.org/dl/gotip@latest gotip download
Kemudian, gunakan arahan berikut untuk menyusun ke WASM:
GOOS=wasip1 GOARCH=wasm gotip build -o main.wasm
Ini akan membolehkan sokongan percubaan untuk WASM in Go, membolehkan anda menjalankan modul secara terus dengan wasmtime.
Atas ialah kandungan terperinci Apakah Punca dan Bagaimana untuk Menyelesaikan Ralat Kompilasi Golang kepada WASM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!