# follow `ruby.wasm` tutorial
curl -LO https://github.com/ruby/ruby.wasm/releases/latest/download/ruby-head-wasm32-unknown-wasi-full.tar.gz
tar xfz ruby-head-wasm32-unknown-wasi-full.tar.gz
mv head-wasm32-unknown-wasi-full/usr/local/bin/ruby ruby.wasm
echo "puts 'Hello'" > src/my_app.rb
wasi-vfs pack ruby.wasm --mapdir /src::./src --mapdir /usr::./head-wasm32-unknown-wasi-full/usr -o my-ruby-app.wasm
# embed default arguments with `wasi-preset-args`
wasi-preset-args my-rubyapp.wasm -o my-ruby-app.preset.wasm -- /src/my_app.rb
# pack single binary with `wasmer`
wasmer create-exe --enable-bulk-memory my-ruby-app.preset.wasm -o my-ruby-app
./my-ruby-app
Hello
wasmer
では以下のコマンドで Windows 向けバイナリのクロスコンパイルも可能だが、wasmer
側で Windows の syscall 対応が不十分なようなので、以下のエラーが出て実行できない。https://github.com/wasmerio/wasmer/blob/master/lib/wasi/src/syscalls/windows.rs#L45