Skip to main content

Installation

ChameleonDB CLI is available for Linux, macOS, and Windows. Choose your platform below.

Prerequisites

Before installing ChameleonDB, ensure you have:
  • Go 1.21+ (for using ChameleonDB in your applications)
  • PostgreSQL 14+ (as the backend database)
  • Rust 1.75+ (only if building from source)

Quick Install

Auto-Install Script

The easiest way to install ChameleonDB on Linux or macOS:
This script will:
  • Detect your platform and architecture
  • Download the latest release binary
  • Install to /usr/local/bin/chameleon
  • Make it executable

Verify Installation

The install script requires curl and sudo access. If you don’t have sudo, see the manual installation section below.

Manual Installation

Download Binary

Install

Verify

If you don’t have sudo access, install to ~/bin/chameleon and add ~/bin to your PATH.

Download Binary

Install

Handle macOS Security

macOS may block the binary on first run:

Verify

Build from Source

For advanced users who want to build ChameleonDB from source:
1

Install Prerequisites

You’ll need:
2

Clone Repository

3

Build Rust Core

This creates libchameleon.so (Linux) or libchameleon.dylib (macOS).
4

Install Shared Library

5

Build Go CLI

This creates ./bin/chameleon.
6

Install CLI

Or manually:
7

Verify Installation

Building from source requires both Rust and Go toolchains. For most users, the pre-built binaries are recommended.

Using ChameleonDB as a Go SDK

If you want to use ChameleonDB in your Go application:

Install the Package

Requirements

The Go package links to libchameleon via cgo:
  • Linux: libchameleon.so must be in /usr/local/lib (or set CGO_LDFLAGS)
  • macOS: libchameleon.dylib must be in /usr/local/lib
  • Windows: chameleon.dll must be in the same directory as your .exe
  • Header: chameleon.h should be in /usr/local/include

Build from Monorepo

If building from the ChameleonDB monorepo:

Custom Library Location

If you install the library in a non-standard location:
For production deployments, we recommend using pkg-config to manage library paths. See the ChameleonDB repository for details.

Platform-Specific Notes

Shared Library Location

libchameleon.so must be in a directory that ld searches:
  • /usr/local/lib (recommended)
  • /usr/lib
  • Custom path (requires LD_LIBRARY_PATH or ldconfig config)

Update Library Cache

After installing to /usr/local/lib:

Verify Library

System Integrity Protection (SIP)

macOS may block unsigned binaries. If you see a security warning:

Library Location

libchameleon.dylib should be in:
  • /usr/local/lib (recommended)
  • Custom path (requires DYLD_LIBRARY_PATH)

Verify Library

DLL Location

chameleon.dll must be:
  • In the same directory as chameleon.exe
  • In a directory listed in your PATH
  • In C:\Windows\System32 (not recommended)

PowerShell Execution Policy

If you encounter permission errors:

Verify Installation

Docker

Official Docker images are coming soon. For now, you can build your own:
Dockerfile

Troubleshooting

The binary is not in your PATH.Solution:
  • Check installation location: which chameleon
  • Add to PATH: export PATH="$PATH:/usr/local/bin"
  • Reinstall with sudo: sudo mv chameleon /usr/local/bin/
The shared library is not found.Solution (Linux):
Solution (macOS):
You downloaded the wrong architecture.Solution:
  • Check your architecture: uname -m
  • Download the correct binary (amd64 or arm64)
chameleon.dll is not in the same directory as chameleon.exe.Solution:
  • Keep both files together
  • Or add the DLL directory to your PATH

Next Steps

Quick Start

Get started with ChameleonDB in 5 minutes

CLI Reference

Learn all available commands

Getting Help

If you encounter installation issues: