新年の挨拶

新年あけましておめでとうございます。
本年もスプラウト株式会社をどうぞよろしくお願いいたします。

新年あけましておめでとうございます。
本年もスプラウト株式会社をどうぞよろしくお願いいたします。
「RubyWorld Conference 2025」に、Goldスポンサーとして協賛させていただきます。
<期間>
2025年11月6日(木)、7日(金)
<会場>
島根県立産業交流会館「くにびきメッセ」
国際会議場(3F)・大展示場(1F)
<主催>
RubyWorld Conference開催実行委員会

新年あけましておめでとうございます。
本年もスプラウト株式会社をどうぞよろしくお願いいたします。

前回の記事ではRubyプログラムをブラウザ上で動かしてみました。今回はRubyプログラムをブラウザ外でWASIアプリケーションとして動かしてみます。Rubyの実行環境込みでパッケージングすることで、可搬性のある配布物を作ることができます。
ruby.wasm のページが参考になります。
Dependencies のところに書かれている wasi-vfs と wasmtime を先にインストールします。
wasi-vfs のサイトの Installation の通りです。
$ export WASI_VFS_VERSION=0.4.0
$ unzip wasi-vfs-cli-x86_64-unknown-linux-gnu.zip
$ sudo mv wasi-vfs /usr/local/bin/wasi-vfs
wasmtime のサイトの Installation の通りです。
$ curl https://wasmtime.dev/install.sh -sSf | bash
まずビルド済の ruby.wasm をダウンロードして展開します。
$ curl -LO https://github.com/ruby/ruby.wasm/releases/latest/download/ruby-3.2-wasm32-unknown-wasi-full.tar.gz
$ tar xfz ruby-3.2-wasm32-unknown-wasi-full.tar.gz
$ mv 3.2-wasm32-unknown-wasi-full/usr/local/bin/ruby ruby.wasm
実行対象のRubyプログラムを作ります。
$ mkdir src
$ echo "puts 'Hello, World!'" > src/my_app.rb
wasi-vfs でパッケージングします。
$ wasi-vfs pack ruby.wasm --mapdir /src::./src --mapdir /usr::./3.2-wasm32-unknown-wasi-full/usr -o my-ruby-app.wasm
wasmtime を使って実行します。実行対象のRubyプログラムをパッケージ内のパスで指定します。
$ wasmtime my-ruby-app.wasm -- /src/my_app.rb
Hello, World!