Kompilasi Golang to wasm: Analisis ralat dan penyelesaian
Apabila menyusun kod Golang ke WebAssembly (wasm) menggunakan "GOOS=js GOARCH= perintah wasm go build -o main.wasm", anda mungkin menghadapi ralat semasa melaksanakan fail main.wasm yang terhasil dengan wasmtime atau wasm3.
Ralat daripada wasmtime:
failed to instantiate "main.wasm" unknown import: `go::debug` has not been defined
Ralat daripada wasm3:
function lookup failed ('_start')
Ralat ini boleh timbul kerana sebab berikut:
Penyelesaian:
Untuk menyelesaikan ralat ini, anda mempunyai beberapa pilihan:
node wasm_exec.js main.wasm
tinygo build -target=wasi -o main.wasm main.go
go install golang.org/dl/gotip@latest gotip download GOOS=wasip1 GOARCH=wasm gotip build -o main.wasm
Sebaik sahaja anda membina pengkompil Go, anda boleh menggunakan perintah "gotip" yang dikemas kini untuk menyusun kod anda kepada wasm dengan wasip1 ( Wasi) sokongan.
Dengan mengikuti penyelesaian ini, anda sepatutnya berjaya melaksanakan kod Go anda yang disusun kepada wasm dengan wasmtime dan wasm3.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat Yang Dihadapi Semasa Mengumpul Kod Go ke WebAssembly (wasm)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!