我使用 Golang 代码编译 wasm
GOOS=js GOARCH=wasm go build -o main.wasm
尝试使用 wasmtime 执行时出现以下错误
wasmtime main.wasm
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
用 wasm3 执行时,我得到
wasm3 main.wasm
Error: function lookup failed ('_start')
这些错误是什么意思以及如何解决它们?
目前还没有办法在broswer之外使用go编译器生成wasm。您示例中的
main.wasm
旨在与 wasm_exec.js
垫片一起使用。但是,有多种方法可以在 Node 中使用它。 This 是我之前关于同一主题的回答。所以,你的选择是:
node wasm_exec.js main.wasm
tinygo build -target=wasi -o main.wasm main.go
wasmtime
应该运行得很好。
GOOS=wasip1 GOARCH=wasm go build -o main.wasm
没有其他变化。对于您的问题,我会说 (1),以便至少有一些工作,以及 (2) 如果您想使用
wasmtime
独立运行它。一个新的 go 版本也应该很快就会到来,如果你想等待而不自己编译的话。