go-ethereum/docs/_install-and-build/Build-from-Source.md
Felix Lange 7416b05b81
[DOCS] massive documentation update (#20229)
This PR:

- reorganizes all documentation pages so they live in the right category
- removes lots of legacy docs
- contains many improvements to active documentation pages

Geth user documentation is now spread across five major categories:

- Install and Build: installation and compile instructions
- Using Geth: this is for pages about general geth usage.
- For dApp Developers: this is for programming guides and functionality specific
   to dapp development. All the dev guides for mobile framework and Go APIs live here.
- JSON-RPC APIs: this has its own section because there is now a sub-page for
   every name space. I have also added an overview text that explains how to set
   up the API servers.
- For Geth Developers: this is for geth contributors
2019-11-05 13:46:00 +01:00

1.6 KiB

title, sort_key
title sort_key
Build from source B

Go Ethereum (as its name implies) is written in Go, and as such to build from source code you need to have at least Go 1.7 installed (preferably the latest version, currently at 1.9.2). This guide does not go into details on how to install Go itself, for that please read the Go installation instructions.

Assuming you have Go installed, you can download our project via:

go get -d github.com/ethereum/go-ethereum

The above command will checkout the default version of Go Ethereum into your local GOPATH work space, but it will not build any executables for you. To do that you can either build one specifically:

go install github.com/ethereum/go-ethereum/cmd/geth

Or you can also build the entire project and install geth along with all developer tools by running go install ./... in the repository root inside your GOPATH work space.

Building without a Go workflow

If you do not want to set up Go work spaces on your machine, only build geth and forget about the build process, you can clone our repository directly into a folder of your choosing and invoke make, which will configure everything for a temporary build and clean up after itself:

git clone https://github.com/ethereum/go-ethereum.git
cd go-ethereum
make geth

This will create a geth (or geth.exe on Windows) executable file in the go-ethereum/build/bin folder that you can move wherever you want to run from. The binary is standalone and doesn't require any additional files.