Install the Solana Tool Suite | Solana Docs
There are multiple ways to install the Solana tools on your computer
solana-labs/solana
Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces. - solana-labs/solana
Benchmark a Cluster | Solana Docs
The Solana git repository contains all the scripts you might need to spin up your own local testnet. Depending on what you’re looking to achieve, you may want to run a different variation, as the full-fledged, performance-enhanced multinode testnet is considerably more complex to set up than a Rust-…

I don't know if this is the best way to setup a local solana developer environment but this is how I handled it. The following steps are pieced together from the above links.

The high level steps:

  1. Install Solana Tool Suite - you will use these commands in your path to send transactions, messages, instructions and deploy on-chain programs
  2. Clone the Solana repo and build
  3. Finally, build a local testnet to receive your transactions, messages, instructions and on-chain programs

Here's a more detailed step-by-step that I think is the best path:

  1. Install Solana - this sets up your solana client and other tools
  2. Cloned Solana to a separate local directory: git clone https://github.com/solana-labs/solana
  3. cd solana
  4. run: cargo build --release
  5. run: NDEBUG=1 ./multinode-demo/setup.sh
  6. in a separate term window run: NDEBUG=1 ./multinode-demo/faucet.sh - this will be your faucet for airdroping tokens
  7. in another separate terminal window run: NDEBUG=1 ./multinode-demo/bootstrap-validator.sh - This step bootstraps and runs your local solana network
  8. to make sure everything working this script will send a few transactions to your local testnet NDEBUG=1 ./multinode-demo/bench-tps.sh # runs against localhost by default

Now you can begin to experiment with your local test network with transaction, messages, instruction and on-chain programs. Next post will put your local network to use including transactions, and deploying your first on-chain program.