If you’ve ever worked on multiple Flutter projects, you already know the pain of juggling different Flutter versions. Maybe one project needs Flutter stable, another depends on beta, and yet another has pinned itself to a specific version like 3.13.6
.
Traditionally, you’d spend hours re-installing, re-configuring, or tweaking your IDE settings just to switch versions. That’s where Puro comes in — a tool that makes Flutter version management effortless.
In this post, let’s break down Puro in the simplest way possible. By the end, you’ll know how to:
✅ Install and use Puro
✅ Create isolated Flutter environments per project
✅ Run Flutter commands without confusion
✅ Set up a permanent fix so flutter
always points to Puro
What is Puro?
Puro is a Flutter version manager designed to:
- Install and switch Flutter versions lightning fast ⚡
- Share cached files across projects to save space 💾
- Work globally (for your whole system) or per-project (just for one app)
- Automatically configure your IDEs (VSCode, Android Studio, IntelliJ) so you don’t have to touch run configurations
In short: Puro saves time, avoids headaches, and makes your workflow consistent.
Installing Puro
Installing Puro is straightforward. For Linux/macOS, run:
curl -o- https://puro.dev/install.sh | PURO_VERSION="1.4.11" bash
For Windows (PowerShell, not as admin):
Invoke-WebRequest -Uri "https://puro.dev/builds/1.4.11/windows-x64/puro.exe" -OutFile "$env:temp\puro.exe"; &"$env:temp\puro.exe" install-puro --promote
After installation, you’re ready to go.
Quick Start: Your First Environment
Puro manages environments — basically, little containers for Flutter versions.
Examples:
# Install the latest stable Flutter
puro flutter doctor
# Create a named environment with stable
puro create foo stable
# Create one with a specific version
puro create bar 3.13.6
# Switch the global Flutter to use "bar"
puro use -g bar
# Switch the current project to use "foo"
puro use foo
👉 Each project can have its own Flutter version. No more conflicts.
Running Flutter Commands
By default, you’ll run Flutter like this:
puro flutter pub get
But typing puro flutter
every time gets annoying. Some people even alias it as pflutter
.
Luckily, there’s a permanent fix to make flutter
always resolve to puro flutter
.
Permanent Fix: Shim Executable
Let’s create a fake flutter
command that forwards everything to puro flutter
:
mkdir -p ~/.local/bin
cat << 'EOF' > ~/.local/bin/flutter
#!/bin/bash
exec puro flutter "$@"
EOF
chmod +x ~/.local/bin/flutter
Then, add it to your PATH:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
✅ Now, whenever you run flutter
, it’s automatically powered by Puro.
That means flutter pub get
is actually puro flutter pub get
, and your workflow feels natural again.
Final Thoughts
Puro is a must-have tool for any Flutter developer who works across multiple projects or wants to keep things tidy.
- New to Flutter? Start with Puro and you’ll never touch version headaches.
- Experienced dev? Save time, bandwidth, and sanity.
So go ahead — install Puro, set up a shim, and enjoy typing just flutter
again. 🎉
👉 Learn more at puro.dev.
Top comments (0)