-- install/view.wo — the VIEW for /install. Static copy: no fields, so -- the component has none. It is still a component, and still renders -- through the same interface as every other page. use html pub class InstallPage { fn render() -> Text { let head = `
Two native binaries — woc,
the compiler, and wovm, the runtime VM. Both depend only on
the system C library. There is no package manager to install, no
language runtime to install on the machines you deploy to, and no
build toolchain beyond these two files.
Download the release tarball and extract
it into /usr/local. Run this as root, or through
sudo:
Add one line to your
$HOME/.profile (or /etc/profile for every user
on the box), then restart your shell:
Both should print the same version.
woc finds wovm beside itself, so a tarball
install needs no further configuration.
A project is a directory with a
wo.toml manifest and one or more .wo files.
Nothing else — no lockfile to create by hand, no scaffolding step.
woc <dir> emits ONE
standalone binary at target/<name>. Copy that file to a
server and run it — the VM is inside it, and so is the database.
Dependencies are git repositories pinned
by revision. The [deps] KEY is the module name your code
uses. woc writes a wo.lock with the
exact revision, and a locked build works offline. See
Packages for what is available.
The tarball installs to
/usr/local/writeonce: bin/woc,
bin/wovm, and a VERSION file. To point
woc at a different VM, set $WO_RUNTIME or add a
[build] runtime = "..." key to wo.toml. A
manifest may also require a minimum toolchain with
[runtime] wo = ">= 0.1"; woc refuses to build
a project that needs a newer toolchain than itself.