Install
Install the Sakura Lang preview on macOS, Linux or Windows, with release-specific platform evidence.
Sakura Lang's published release is 0.1.0, on npm, Homebrew and GitHub Releases for
Apple silicon and Intel macOS, Linux x64 and ARM64, and Windows x64 (Homebrew serves macOS
and Linux x64). The npm latest tag points to it. It is a preview with no stable language or
API compatibility promise (Stability). These docs also describe changes on main,
which require a source build until the next release. Install Node 26 before using npm, sakura run, or sakura test.
The standalone compiler can check and build without Node; the installer does not
install Node for you.
Platform claims
We use three claim levels, tied to a named release:
- Supported. A target in the inventory whose CI suites and parity pass, with a green published-install smoke on a hosted runner of that OS and CPU for that release. An install or run failure there is a P1 release defect, fixed in a new version.
- Expected to work. The same binary on an OS without a hosted runner, with the tested environment stated. This does not mean the project ran it on that device.
- Community-confirmed. An expected-to-work configuration with a report showing
the complete acceptance list passing, recorded as
confirmed on <device>, <OS build>, <version> (#issue).
The published-install acceptance for v0.1.0 is pending. These commands describe the published channels; they do not assign Supported to a platform before that evidence exists. See the platform plan.
macOS: Apple silicon
Target: aarch64-apple-darwin. The 0.1.0 archive, npm package and Homebrew formula exist.
Release smoke runs on GitHub's macOS ARM64 runner. A minimum macOS version is not
claimed here until the release floor smoke evidence is in place.
With Node 26 and npm installed:
npm install --global sakuralang@0.1.0
sakura --versionAlternatively, use the release installer with
version=0.1.0, or the Homebrew tap:
brew tap icantcodefyi/sakuralang && brew install sakuralang
sakura --versionHomebrew installs the formula's current version and its Node dependency; it is not a version-pinned install. Check the printed version before reporting a result.
Linux: x64, glibc
Target: x86_64-unknown-linux-gnu. The archive is built and smoke-tested on
Ubuntu 22.04; use glibc 2.35 or later. Alpine/musl has no release artifact.
With Node 26 and npm installed:
npm install --global sakuralang@0.1.0
sakura --versionAlternatively, use the release installer with
version=0.1.0, or the Homebrew tap:
brew tap icantcodefyi/sakuralang && brew install sakuralang
sakura --versionLinux: ARM64, glibc
Target: aarch64-unknown-linux-gnu. Packaging and dry-run smoke exist on
Ubuntu 22.04 ARM64 (glibc 2.35 or later), with CI suites and parity on Ubuntu 24.04
ARM64. It is new in v0.1.0, with an archive and the sakuralang-linux-arm64-gnu npm
platform package. With Node 26 and npm installed:
npm install --global sakuralang@0.1.0
sakura --versionOr use the release installer with version=0.1.0. Homebrew does
not serve Linux ARM64; use npm or the installer.
32-bit ARM (armv7) has no release artifact.
Raspberry Pi 4 and 5
Expected to work with the v0.1.0 Linux ARM64 release. The design's acceptance wording is reproduced verbatim below. Its Debian container check is still pending; this is not a report of a completed run:
Linux ARM64 is tested on GitHub's Ubuntu ARM64 runners and in a Debian bookworm arm64 container; Raspberry Pi 4 and 5 with 64-bit Raspberry Pi OS (bookworm, glibc 2.36) are expected to work and have not been run on Pi hardware by the project
The planned Debian bookworm ARM64 container has a 1,800 MB memory limit as a
stand-in for a Pi 4 with 2 GB. Until that run passes, there is no measured memory
claim. A container is not Pi hardware evidence. Use a 64-bit OS (uname -m should
print aarch64), not 32-bit Raspberry Pi OS.
Node's ARM64 build needs libatomic1. Raspberry Pi OS ships it; a minimal Debian
image needs sudo apt install libatomic1 first.
Install Node 26 with nvm in Bash. Download and inspect its installer, then run it:
curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.8/install.sh -o install-nvm.sh
less install-nvm.sh
bash install-nvm.sh
export NVM_DIR="$HOME/.nvm"
. "$NVM_DIR/nvm.sh"
nvm install 26
nvm use 26
node --version
npm --versionCheck that Node prints v26.x.x. Then use the Linux ARM64 commands above. Run npm as your normal user with nvm. The Sakura Lang installer
never installs Node or edits your shell profile.
Release installer
For macOS or Linux:
version=0.1.0
curl -fsSL "https://github.com/icantcodefyi/sakuralang/releases/download/v${version}/install.sh" -o install.sh
less install.sh
sh install.sh --version "$version"
export PATH="$HOME/.local/bin:$PATH"
sakura --versionWindows uses install.ps1.
The installer selects the host's CPU and ABI, checks the archive against
SHA256SUMS, and installs to ~/.local/bin. If GitHub CLI (gh) is installed,
attestation verification must also pass. Without gh, it reports
integrity verified, not attested. To keep the command available in new shells,
add the PATH line to your shell profile yourself.
macOS binaries from v0.1.0 on are signed with a Developer ID (team P62B65A837) and
notarized by Apple; 0.1.0-alpha.1 was not signed.
Bare Mach-O executables cannot carry stapled tickets. Installer prefixes must be
absolute; use --prefix /absolute/path to override the default.
Windows x64
Target: x86_64-pc-windows-msvc. New in v0.1.0; supported once its published-install
check is green. No Windows OS floor is advertised yet. The release has a ZIP, the
sakuralang-win32-x64-msvc npm package and the checksum-verifying install.ps1, and CI runs
the compiler suites and JS/WASM parity on hosted Windows runners. With Node 26 and npm
installed:
npm install --global sakuralang@0.1.0
sakura --versionOr download and inspect the installer in PowerShell, then run it:
Invoke-WebRequest "https://github.com/icantcodefyi/sakuralang/releases/download/v0.1.0/install.ps1" -OutFile install.ps1
Get-Content install.ps1
./install.ps1 -Version 0.1.0It checks the ZIP against SHA256SUMS and installs sakura.exe to
%LOCALAPPDATA%\Programs\sakuralang\bin; add that directory to PATH yourself.
A Windows Server runner result does not imply a Windows 11 device run. Windows ARM64
is not an inventory target. Proof caching on Windows is not implemented.
macOS: Intel
Target: x86_64-apple-darwin. New in v0.1.0; supported once its published-install check
is green. The release has a signed archive, the sakuralang-darwin-x64 npm package and the
Homebrew formula, and CI runs the parity suites on hosted Intel macOS runners. Use
npm install --global sakuralang@0.1.0, the
release installer with version=0.1.0, or the Homebrew tap as
for Apple silicon. No Intel macOS floor is advertised yet. A Rosetta archive smoke
alone cannot confirm Intel npm or Homebrew installs.
Check the installation and report a platform
Start with sakura --version and create a project.
For Community-confirmed evidence, file a platform report
with the device, OS build, exact Sakura Lang version and commit, node --version,
uname -a (or winver), and /etc/os-release on Linux. Record the outcome of the
whole acceptance list: new cli, check, test, build, run,
run --target wasm, an MCP initialize handshake, setup --apply twice, and the
expected refusal to run when Node is absent. A successful install alone is not a
community confirmation. No device confirmations are recorded on this page yet.
Performance measurements in bench/ apply only to the project's reference host;
platform acceptance does not establish performance on a Pi or another machine.
Last updated