# Install the Aerospike client

## Prerequisites

-   [Go](http://golang.org) version v1.21+.

To install the latest stable version of Go, see [http://golang.org/dl/](http://golang.org/dl/). Your package manager may also have `go`. To see if `go` is installed and working, try `go version`.

The Aerospike Go client implements the Aerospike network protocols in pure Go, and does not depend on the C client. It is goroutine friendly, and works asynchronously.

Supported operating systems:

-   Major Linux distributions (Ubuntu, Debian, Red Hat, Amazon)
-   macOS
-   Windows (untested)

## Installation

1.  Install Go v1.21 or later and set up your environment as documented [here](http://golang.org/doc/code.html#GOPATH). Your package manager may offer another way to install Go. To see if Go is installed and working, run `go version` at the command line.
    
2.  Fetch the Aerospike Go client from GitHub:
    
    Terminal window
    
    ```bash
    go get github.com/aerospike/aerospike-client-go/v8
    ```
    
3.  Update the client library:
    
    Terminal window
    
    ```bash
    go get -u github.com/aerospike/aerospike-client-go/v8
    ```
    

## Testing

The Aerospike Go client package contains a number of tests.

Tests require Ginkgo and Gomega library.

Terminal window

```bash
go get github.com/onsi/ginkgo

go get github.com/onsi/gomega
```

Before running the tests, update dependencies:

Terminal window

```bash
cd $GOPATH/src/github.com/aerospike/aerospike-client-go/tools/benchmark

go get .
```

To run all test cases with race detection:

Terminal window

```bash
ginkgo -r -race -- -h 127.0.0.1 -p 3000
```