Installation
This page covers how to install the Gno toolchain: gnokey (key & transaction CLI),
gno (language tooling), gnodev (local development node with hot reload),
gnobro (package browser), and gnoweb (realm explorer).
For IDE / LSP support, see Editor setup.
One-line installer
Install precompiled gno, gnokey, gnodev, gnobro, and gnoweb
(Linux/macOS, amd64/arm64) from GitHub Releases
into ~/.gno/bin:
curl -fsSL https://raw.githubusercontent.com/gnolang/gno/master/misc/install.sh | sh
To pin a version:
curl -fsSL https://raw.githubusercontent.com/gnolang/gno/master/misc/install.sh | sh -s -- --version <tag>
To also install the validator node (gnoland), pass --full:
curl -fsSL https://raw.githubusercontent.com/gnolang/gno/master/misc/install.sh | sh -s -- --full
To uninstall:
curl -fsSL https://raw.githubusercontent.com/gnolang/gno/master/misc/uninstall.sh | sh
Scripts used by the one-line installer:
Environment variables
| Variable | Equivalent flag | Description |
|---|---|---|
GNO_VERSION | --version | Release tag to install (default: latest) |
GNO_INSTALL_DIR | --dir | Installation directory (default: ~/.gno/bin) |
GITHUB_TOKEN | — | Authenticates GitHub API requests; raises the 60 requests/hour anonymous rate limit |
Install from source
Building from source requires:
# Clone the repository
git clone https://github.com/gnolang/gno.git
cd gno
# Install all tools (gnokey, gno, gnodev)
make install
You can also install individual tools:
make install.gno # Only gno
make install.gnokey # Only gnokey
make install.gnodev # Only gnodev
Make sure $GOPATH/bin is in your PATH if gno/gnokey/gnodev are not
found after install — see Troubleshooting.
Docker
Official Docker images are published under ghcr.io/gnolang/gno
(full list). Run individual tools
without installing from source:
# Run gnokey
docker run -it ghcr.io/gnolang/gno/gnokey --help
# Run gnoland node
docker run -it ghcr.io/gnolang/gno/gnoland start
You can also build locally from the repository root:
docker build -t gno .
Verify installation
After installing, verify that the tools are available:
# List installed binaries
ls ~/.gno/bin
# Check binary versions
gno version
gnokey version
gnodev version
Troubleshooting
command not found — the install directory is not in your PATH. Add it:
# One-line installer (default)
export PATH="$PATH:$HOME/.gno/bin"
# Install from source (make install)
export PATH="$PATH:$(go env GOPATH)/bin"
Append the export line to your shell rc file (~/.bashrc, ~/.zshrc, …) to
persist it. If you installed to a custom --dir, add that directory instead.
Stale binary on PATH — older install shadows the new one. Check with
command -v gno; fix by reordering PATH or running hash -r.
Go version too old — make install fails on missing language features.
Requires Go 1.25+: check with go version, upgrade from go.dev/dl.
GitHub API rate limit during one-line install — anonymous requests are
capped at 60/hour. Set GITHUB_TOKEN to authenticate:
GITHUB_TOKEN=<token> curl -fsSL https://raw.githubusercontent.com/gnolang/gno/master/misc/install.sh | sh
Next steps
- Editor setup — configure your editor with LSP support for
.gnofiles - Anatomy of a Gno package — learn how to write Gno packages
- Running a local dev node — spin up a local environment with
gnodev - Deploy packages — publish to a network
- Interacting with gnokey — manage keys and send transactions