我的Go代码
package main
import "fmt"
func main() {
fmt.Println("Hello Web Assembly!")
}
然后我使用以下命令构建 wasm 文件
GOOS=js GOARCH=wasm go build -o main.wasm
我得到了 main.wasm 文件。然后我安装了 wasmtime 来运行 wasm 文件。当我尝试使用 wasmtime 运行 wasm 文件时,出现以下错误,
错误:无法运行主模块
main.wasm
原因: >0:无法实例化“main.wasm” >1:未知导入:
尚未定义go::debug
我的Go版本:1.20, 我的 wasmtime 版本: wasmtime-cli 9.0.4, 操作系统:Mac
这只是一个简单的例子。有什么事情吗,我做错了吗?短暂性脑缺血发作。
如果你想使用 wasmtime 运行它,你需要编译为
wasi
而不是 wasm
。
您正在使用
js
作为构建目标中的 target os
,但尝试在 wasm
运行时运行 wasi
文件。
更改
GOOS
的值
用这个
GOOS=wasip1 GOARCH=wasm go build -o main.wasm
安装了这个
GOOS=js GOARCH=wasm go build -o main.wasm