Closed5

wasmtimeでwasmを実行する

nagoyannagoyan

環境情報

WSL バージョン: 2.2.4.0
カーネル バージョン: 5.15.153.1-2
WSLg バージョン: 1.0.61
MSRDC バージョン: 1.2.5326
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26091.1-240325-1447.ge-release
Windows バージョン: 10.0.22631.3880
go verison
go version go1.22.5 linux/amd64
nagoyannagoyan

wasmtimeのインストール

asdf install wasmtime v20.0.0
export WASMTIME_HOME="$HOME/.asdf/installs/wasmtime/v20.0.0"
export PATH="$WASMTIME_HOME/bin:$PATH"

wasmtime --version
wasmtime-cli 20.0.0 (9e1084ffa 2024-04-22)
nagoyannagoyan
main.go
package main

import "fmt"

func main() {
	fmt.Println("Hello, World")
}
nagoyannagoyan

wasmのbuild

GOOS=wasip1 GOARCH=wasm go build -o main.wasm

実行

wasmtime main.wasm
Hello, World

※js用のbuildではwasmtimeで実行したときにエラーになる

GOOS=js GOARCH=wasm go build -o main.wasm main.go
wasmtime main.wasm
Error: failed to run main module `main.wasm`

Caused by:
    0: failed to instantiate "main.wasm"
    1: unknown import: `gojs::runtime.scheduleTimeoutEvent` has not been defined
このスクラップは4ヶ月前にクローズされました