

You can verify this works by using ruby lib/hello.rb. Inside of lib, we can create hello.rb: puts "content-type: text/plain" $ mkdir libĪt this point, our directory should look like this: $ tree -L 2 -a -d gem/, though we won’t use it in this example. Now create a local lib dir where we will put our own source. Now fetch a copy of the Ruby source from the official releases.įor this example, we are downloading the version,īut one of the smaller versions works just as well. Start out with a new directory: $ mkdir hello-ruby

At this stage, users of the Wasm version will need to understand how Ruby loads its dependenciesĪll of our examples follow a documented pattern using common tools.Spin (and Wagi) need extra configuration to simulate a command line for Ruby.The size of the interpreter is large, and can take a moment to start.(We suspect there might be a way to use C extensions, but we haven’t figured it out) It is possible to use gems that do not have C code.The toolchain has been very thoughtfully developed.The example section below illustrates usage. For example, to run the Ruby interpreter, you can use wasmtime. Inside of the package, you will find a full distribution of Ruby: $ tree -L 3 To use the official Ruby Wasm, download a prebuilt binary and decompress the downloaded archive. In this guide, we focus on the official release of Ruby ( ruby.wasm). Rlang (a subset of Ruby) can run Wasm32 code in a wasm32-wasi runtime like wasmtime. In addition to the official Ruby distribution, Artichoke is a Rust implementation of Ruby that can compile to WebAssembly ( wasm32-unknown). It supports WASI and a wide array of features. Ruby now has multiple WebAssembly-based projects, including an official release of CRuby. Ruby is one of the most popular scripting languages.įamous for the Rails framework, it has been a stalwart for web developers. ← Back to Language Index Ruby in WebAssembly
