The most reliable Windows route for Solana development is WSL 2 with Ubuntu. Run wsl --install in elevated PowerShell, then perform Linux package, Rust, Solana CLI, Anchor, Node.js, Yarn and project commands inside Ubuntu. This keeps the toolchain in the Linux environment used by Solana’s current documentation and avoids dual-booting.
By the end, you will have a verified local development environment, a disposable CLI keypair, Devnet access, test SOL, and an Anchor project you can build, test and optionally deploy. Use localnet or Devnet while learning; Mainnet uses real SOL and is a separate, security-sensitive production step.
What this setup does
WSL (Windows Subsystem for Linux) runs a Linux distribution inside Windows. PowerShell handles Windows-level tasks such as enabling WSL. Ubuntu/Bash handles apt, curl, Rust, Solana, Anchor and project commands. Solana’s Windows installation guidance directs developers to install WSL first and then install the toolchain inside Linux (Solana Foundation installation guidance).
This is a local application-development environment, not a production validator. A browser wallet such as Phantom is not required. The CLI keypair you create in WSL is separate from any browser wallet and should never hold valuable Mainnet funds.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware match#1 Best Overall
- 14" diagonal, 1366x768 resolution, HD BrightView LED, Glossy NON-TOUCH Display
Prerequisites
- Windows 10 version 2004 (build 19041) or newer, or Windows 11, for Microsoft’s one-command WSL path. Ubuntu’s documented WSL 2 route recommends Windows 10 version 21H2 or newer or Windows 11 (Microsoft WSL installation; Ubuntu WSL 2 guide).
- Administrator access for initial installation.
- Hardware virtualization enabled in UEFI/BIOS and the Windows Virtual Machine Platform feature available.
- Enough disk space for Ubuntu, Rust build artifacts, Solana tools and projects.
- Stable internet access. Corporate VPNs, proxies and endpoint security can interfere with downloads.
- Windows Terminal is recommended. Visual Studio Code with its WSL extension is optional.
Step 1: Install WSL 2 and Ubuntu
Run the installer in elevated PowerShell
Open PowerShell as Administrator and run:
wsl --install
The standard command enables required Windows components, installs the Linux kernel, makes WSL 2 the default and installs Ubuntu. Restart Windows when prompted.
Finish Ubuntu’s first launch
- Open Ubuntu from the Start menu after restarting.
- Wait for first-run initialization.
- Create a Linux username and password. These credentials belong to Ubuntu and are not your Windows account credentials.
- Confirm that a shell prompt appears.
From PowerShell, inspect the installation with:
wsl --status
wsl --list --verbose
You normally want a distribution named Ubuntu, with state Running or Stopped, and version 2.
If installation does not behave as expected
If wsl --install displays help instead of installing, list available distributions and choose Ubuntu explicitly:
wsl --list --online
wsl --install -d Ubuntu
If the download remains at 0.0%, try the web-download option:
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →wsl --install --web-download -d Ubuntu
These recovery options are documented by Microsoft (WSL installation troubleshooting).
Step 2: Open the correct terminal and prepare Ubuntu
Use PowerShell only for commands beginning with wsl. Open Ubuntu for every command in the rest of this guide. A quick check is:
uname -a
whoami
pwd
Keep active projects in the Linux home directory rather than building repeatedly under /mnt/c/:
mkdir -p ~/solana-projects
cd ~/solana-projects
This is a practical WSL performance and permissions recommendation, not a Solana requirement.
Free tools Windows power users keep installed
One-click scans. No signup required.
Install Linux build dependencies
sudo apt-get update
sudo apt-get install -y
build-essential
pkg-config
libudev-dev
llvm
libclang-dev
protobuf-compiler
libssl-dev
The packages provide compilers, linker metadata, device libraries, LLVM/Clang, Protocol Buffers and OpenSSL headers used by Solana and Anchor builds. If Ubuntu cannot find protobuf-compiler, run sudo apt-get update again before repeating the install.
Optional checks:
gcc --version
clang --version
pkg-config --version
protoc --version
Step 3: Install Rust in WSL
Rust in Ubuntu is independent of any Rust installation on Windows. Install it with rustup:
Rank #2
- 1.1 GHz (boost up to 2.4GHz) Intel Celeron N5030 Quad-Core
- 4GB DDR4 System Memory; 128GB Solid State Drive
- 11.6" HD (1366 x 768) Multi-Touch Display
- Combo headphone/microphone jack - Noble Wedge Lock slot - HDMI; 2 USB 3.1 Gen 1
- Windows 11 Pro
curl --proto '=https' -sSf https://sh.rustup.rs | sh -s -- -y
. "$HOME/.cargo/env"
Verify the compiler, Cargo and active toolchain:
rustc --version
cargo --version
rustup show
Version numbers change. Use the versions required by the project you are building rather than assuming a tutorial’s historical version remains compatible.
Step 4: Install Solana, Anchor, Node.js, Yarn and Surfpool
Fast official installation
For a new machine, the current Solana quick installer is the shortest route:
curl --proto '=https' -sSfL https://solana-install.solana.workers.dev | bash
The installer currently installs Rust, Solana CLI, Anchor Framework, Surfpool, Node.js and Yarn (Solana installation documentation). Its example output shows Rust 1.91.1, Solana CLI 3.0.10, Anchor CLI 0.32.1, Surfpool 0.12.0, Node.js 24.10.0 and Yarn 1.22.1. Those are documentation examples, not a promise about the versions installed on your machine.
Reload your shell if the installer requests it, then verify every command:
rustc --version &&
solana --version &&
anchor --version &&
surfpool --version &&
node --version &&
yarn --version
Individual installation fallback
Install separately when a project pins versions, when you are debugging a failure or when your team needs reproducibility.
Solana CLI
sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"
stable is the sensible beginner channel; beta, edge and specific release tags are available when a project requires them (installation reference). Check the installation and configuration:
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemssolana --version
solana config get
If solana is not found, reload Bash or add the path printed by your installer. The documented example is:
export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"
echo 'export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Prefer the exact path printed on your machine if it differs.
Anchor with AVM
Anchor Version Manager (AVM) lets each project use an appropriate Anchor release:
cargo install --git https://github.com/coral-xyz/anchor avm --force
avm --version
avm install latest
avm use latest
anchor --version
You can pin a release instead:
avm install <version>
avm use <version>
Installing without avm use may leave another version active. Match the version expected by the project’s Anchor.toml and Cargo.toml (Anchor installation).
Recommended Free Tools
Rank #3
- 256 GB SSD of storage.
- Multitasking is easy with 16GB of RAM
- Equipped with a blazing fast Core i5 2.00 GHz processor.
Node.js and Yarn
The default TypeScript template created by anchor init needs Node.js and Yarn. Verify them with:
node --version
yarn --version
If you did not use the Solana installer, use a version manager such as nvm and choose the version required by the project’s lockfile. A Rust test template can reduce this dependency:
anchor init my-project --test-template rust
Do not mix old commands such as cargo build-bpf, obsolete installer URLs or historical Anchor repositories with a current toolchain. Current Solana deployment documentation uses cargo build-sbf (program deployment).
Step 5: Optional VS Code integration
Install VS Code on Windows and the official WSL extension. From Ubuntu:
cd ~/solana-projects
code .
The status bar should show a WSL/Ubuntu remote session. The code command is not part of the mandatory CLI setup; install and configure VS Code and the extension first (VS Code WSL tutorial).
Step 6: Create a disposable CLI wallet
Security warning: create this wallet for Devnet or local experimentation only. Never use a valuable Mainnet wallet, publish its file, or paste its seed phrase anywhere.
solana-keygen new
The default keypair path is:
~/.config/solana/id.json
Check the public address and current configuration:
solana address
solana config get
- Never publish
id.json, commit it to Git or paste its seed phrase/private key into chat, issue trackers, websites or wallet-import forms. - Do not run the command with
sudo; otherwise root may own the file. - The keypair lives in the WSL Linux filesystem, not automatically in your Windows profile. A backup of the WSL distribution may include it.
- A public address is safe to share; private-key material is not.
The default file is outside most repositories. If a key is stored in a project, use an appropriate ignore rule:
echo 'id.json' >> ~/.gitignore
# For a repository-specific location, adjust the rule to the actual path:
echo '.config/solana/id.json' >> .gitignore
Default wallet behavior is described in Solana’s deployment documentation (keypairs and deployment).
Step 7: Connect to Devnet and request test SOL
Devnet is a public cluster with valueless test SOL. Its ledger can reset, and its public RPC and faucet are rate-limited. Configure it explicitly:
Rank #4
- EFFORTLESS EVERYDAY PERFORMANCE: Powered by Intel Celeron N4020 processor and Windows 11 Home system, delivering reliable, low-power efficiency for daily tasks like document editing, email, online classes, and web browsing
- 15.6-INCH FULL HD DISPLAY: Enjoy immersive visuals on the 15.6" FHD (1920x1080) anti-glare screen with micro-edge bezels. Delivers clear details and comfortable viewing for long study sessions, working on spreadsheets, and video playback
- RESPONSIVE MULTITASKING & STORAGE: Built with 4GB LPDDR4 RAM and 128GB eMMC storage for smooth daily essential use. Expand your storage by up to 1TB via the integrated TF card slot to easily store movies, photos, and working files
- ADVANCED CONNECTIVITY: Outfitted with 2x Full-Featured Type-C ports for data transfer, fast charging, and dual-monitor output, alongside 2x USB 3.2 Gen1 ports and a 3.5mm audio jack for complete peripheral compatibility
- LIGHTWEIGHT & SILENT OPERATION: Slim and portable for effortless travel or commuting. Features a 1MP HD webcam for remote meetings, 38Wh battery with 45W Type-C fast charging, and a fanless silent design for peaceful work environments.
solana config set --url https://api.devnet.solana.com
solana config get
solana airdrop 2
solana balance
If the CLI faucet fails, retry later or use the official web faucet linked from Anchor’s local-development guide. Never buy Devnet SOL and do not switch to Mainnet because an airdrop is temporarily unavailable (cluster reference; Anchor local quickstart).
Step 8: Create, build and test an Anchor project
cd ~/solana-projects
anchor init hello-solana
cd hello-solana
anchor build
anchor test
The default template commonly includes:
programs/for on-chain Rust program codetests/for testsAnchor.tomlfor provider and project configurationtarget/for generated build outputCargo.tomlfor Rust workspace/package configuration
Templates can change between Anchor releases. Inspect your actual project:
find . -maxdepth 3 -type f | sort
ls -lah target/deploy
cat Anchor.toml
What anchor test does
With the default localnet configuration, Anchor can start a local validator, build and deploy the program, run tests and stop the validator. If you start the validator yourself in one Ubuntu terminal:
solana-test-validator
Run tests from a second Ubuntu terminal with:
anchor test --skip-local-validator
Surfpool is installed by the current Solana quick installer and may provide richer local-state workflows, but the current Anchor quickstart still documents solana-test-validator. Do not assume every existing Anchor tutorial has identical Surfpool commands (Surfpool project).
Step 9: Deploy to Devnet (optional)
Testing locally does not deploy to a public cluster. To deploy to Devnet, edit Anchor.toml:
[provider]
cluster = "Devnet"
wallet = "~/.config/solana/id.json"
Then confirm the cluster and funds, build and deploy:
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
solana config set --url devnet
solana balance
anchor build
anchor deploy
Deployment requires enough Devnet SOL for the program’s rent-exempt account. Larger compiled programs cost more; estimate a requirement with:
solana rent <bytes>
anchor test normally targets localnet, while anchor deploy uses the cluster configured in Anchor.toml. Mainnet deployment involves real funds, real users and security review; it is not a beginner setup step (Anchor deployment configuration; Solana deployment details).
Localnet, Devnet, Testnet or Mainnet?
| Cluster | Best use | Trade-off |
|---|---|---|
| Localnet | Fast, repeatable development and tests | State is isolated to your machine |
| Devnet | Public-cluster testing with valueless test SOL | Faucet/RPC limits and possible ledger resets |
| Testnet | Validator and network stress testing | Not the usual beginner application target |
| Mainnet | Production applications | Real SOL, real users and financial risk |
Solana’s public endpoints are suitable for light experimentation but are rate-limited and not intended for production applications (cluster documentation; RPC infrastructure).
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Troubleshooting by symptom
WSL is version 1
wsl --list --verbose
wsl --set-default-version 2
wsl --set-version Ubuntu 2
Substitute the distribution’s actual name. If conversion fails, check UEFI/BIOS virtualization and Virtual Machine Platform.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Best Value
- WINDOWS 11 | STABLE PERFORMANCE: Powered by Intel Celeron N4020 processor and Windows 11 system, this laptop delivers stable performance for everyday computing tasks. It supports web browsing, online learning, document editing, email communication, and basic office work with optimized power efficiency, providing a practical and reliable experience for essential daily use for daily use.
- 15.6” FHD IPS DISPLAY: Features a 15.6-inch Full HD IPS display with narrow bezels, offering wider viewing angles and clearer image details compared to standard panels. The improved screen-to-body ratio enhances visual experience for study, reading, document work, and video playback, making it suitable for both productivity and entertainment use.
- 4GB DDR4 + 128GB eMMC STORAGE: Equipped with 4GB DDR4 memory and 128GB eMMC storage for everyday basics such as browsing, documents, email, and online learning platforms. The built-in TF card slot supports storage expansion up to 1TB, giving you more flexibility for files, photos, videos, and daily documents. TF card not included.
- CONNECTIVITY & PORTS: Includes 1× TF card slot, 2× USB 3.2 Gen1 ports, and 2× full-featured Type-C ports (USB 3.2 Gen1). The Type-C ports support data transfer, charging, and video output, enabling flexible connection with external devices such as monitors, storage, and peripherals for daily work and study use.
- LIGHTWEIGHT DESIGN | ONLINE COMMUNICATION: Designed with a slim, portable profile, this laptop is easy to carry for school, commuting, and travel. A built-in 1MP front camera supports online classes, video meetings, remote communication, and everyday conferencing. The 3300mAh battery works with the low-power system design to support practical daily use, while thermal optimization helps maintain quieter operation during extended tasks.
solana or anchor is not found
Reload Bash:
source ~/.bashrc
For Solana, add the installer’s printed path. For Anchor, verify AVM and select a version:
avm --version
avm install latest
avm use latest
Also confirm Cargo’s binary directory is on PATH.
code . fails
Install VS Code on Windows and its WSL extension, open Ubuntu and retry. Alternatively, open the folder in VS Code and choose Reopen in WSL.
Node or Yarn is missing during tests
node --version
yarn --version
Install them through the Solana quick installer or a version manager, or create a Rust test template with anchor init my-project --test-template rust.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Devnet airdrop fails
Check cluster, address and balance:
solana config get
solana address
solana balance
Rate limits, faucet demand and temporary network problems are common. Retry later or use the official faucet; do not use Mainnet as a workaround.
Deployment reports insufficient funds
Check solana balance, request more Devnet SOL and estimate rent with solana rent <bytes>. Required funds depend partly on compiled program size.
Versions conflict
Capture the environment and compare it with project files:
rustc --version
cargo --version
solana --version
anchor --version
node --version
yarn --version
cat Anchor.toml
cat Cargo.toml
cat package.json
Use AVM to select the project’s required Anchor release. Do not combine an old tutorial’s commands with a current CLI without checking compatibility.
Do you need a paid Solana RPC provider?
Not for this setup. Localnet, light Devnet use, Rust, Anchor, WSL and VS Code can all be used without a paid infrastructure subscription. Consider a managed provider only after public RPC limits, reliability, production traffic, indexing, archival data or enhanced APIs become a real constraint. Solana lists providers including Helius, QuickNode, Chainstack, Ankr, OrbitFlare, Alchemy, Syndica and Blockdaemon at solana.com/rpc. Compare current quotas, WebSocket limits, supported clusters, overage billing and regional availability directly with each provider; these terms change.
Final verification checklist
wsl --list --verbose
rustc --version
solana --version
anchor --version
surfpool --version
node --version
yarn --version
solana config get
solana address
solana balance
If these commands return sensible output, your Windows machine has a functioning WSL-based Solana development environment. Keep projects under your Linux home directory, use localnet or Devnet for experiments, and treat every keypair as sensitive financial information.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




