Skip to content

Installation

The fastest way to install Praia on macOS or Linux:

Terminal window
curl -fsSL https://praia.sh/install.sh | sh

This downloads the latest release binary for your platform and installs it to /usr/local/bin/. It also installs the standard library grains and the sand package manager.

If you prefer to build from source, or need to customize the build:

Terminal window
git clone --recursive https://github.com/praia-lang/praia.git
cd praia

Praia builds without external libraries, but you lose HTTPS, SQLite, REPL history, Unicode-aware strings, and the RE2 regex engine.

macOS:

Terminal window
brew install openssl@3 readline sqlite utf8proc re2

Ubuntu / Debian:

Terminal window
sudo apt install g++ make libssl-dev libreadline-dev libsqlite3-dev libutf8proc-dev libre2-dev

Fedora / RHEL:

Terminal window
sudo dnf install gcc-c++ make openssl-devel readline-devel sqlite-devel utf8proc-devel re2-devel
DependencyEnablesRequired?
OpenSSLHTTPS client (http.get("https://..."))Optional
SQLitesqlite.open() built-inOptional
readline/libeditREPL history and line editingOptional
utf8procUnicode-aware strings (grapheme splitting, case mapping, emoji)Optional
RE2Safe regex engine (O(n) guaranteed, no catastrophic backtracking)Optional — falls back to std::regex
Terminal window
make
sudo make install

This installs praia and sand (the package manager) to /usr/local/bin/, with stdlib grains in /usr/local/lib/praia/.

To customize the install location:

Terminal window
sudo make install PREFIX=/usr # /usr/bin/praia, /usr/lib/praia/
sudo make install LIBDIR=/opt/praia/lib # custom lib path
Terminal window
sudo make uninstall

If you just want to build and run locally:

Terminal window
make
./praia # REPL
./praia script.praia # run a file
./praia -v # print version
Terminal window
make test # run the test suite
./praia test # same thing
./praia test path/to/dir # test a specific directory

Praia uses POSIX APIs and runs on macOS, Linux, and Windows via WSL. It should work on BSD but is untested. There is no native Windows support.