[![Build status on AppVeyor](https://img.shields.io/appveyor/ci/xiaq/elvish.svg?logo=appveyor&label=windows)](https://ci.appveyor.com/project/xiaq/elvish) <!-- [![Build Status on VSTS](https://img.shields.io/vso/build/xiaq/13c48a6c-b2dc-472e-af6c-169bf448f8e6/1.svg?logo=tfs&label=macOS)](https://xiaq.visualstudio.com/elvish/_build)
* Linux, {Free,Net,Open}BSD, macOS, or Windows (Windows support is experimental).
* Go >= 1.10.
If you have not done so, first set up your environment by following [How To Write Go Code](http://golang.org/doc/code.html).
There are two ways to build Elvish. You can build it directly with `go get`:
```sh
go get github.com/elves/elvish
```
However, binaries built in this way lacks some build-time information; for instance, `elvish -version` will show `unknown`. To add such information, use `make`:
```sh
cd `go env GOPATH`/src/github.com/elves/elvish
make get
```
In either cases, the binary is placed in `$GOPATH/bin`. Consider adding it to your `$PATH` if you want to run the Elvish binary you just built by just typing `elvish`.