Development Environment
Ubuntu 26.04 LTS is one of the most widely used Linux distributions among developers worldwide. Nearly all major programming languages, frameworks, and tools offer first-class support for Ubuntu, ensuring a smooth experience from installation to daily development.
Whether you’re building frontends, training models, or managing infrastructure, you’ll find a matching setup path here. Choose the best starting point based on your development focus.
I’m a Web Developer
Frontend, full-stack, or anything involving JavaScript/TypeScript. Your day-to-day likely involves React, Vue, Next.js, Express, and similar frameworks.
Recommended installation order: Editor -> Git/SSH -> Node.js -> Docker. This gets you into a productive state as quickly as possible.
- Node.js Environment — Manage multiple Node.js versions with nvm, configure npm/pnpm/yarn package managers
- Docker Containerization — Unify development, testing, and deployment environments with Docker and Docker Compose
- Git, SSH & Terminal — Configure Git identity, generate SSH key pairs, customize your terminal prompt
- Editors & IDEs — Install VS Code and JetBrains IDEs with recommended frontend extensions (for AI editors like Cursor, see AI Editors)
I’m a Python / AI Developer
Working on data analysis, machine learning, LLM fine-tuning, or building AI applications. Ubuntu is the preferred platform for the vast majority of AI frameworks (PyTorch, TensorFlow, JAX).
GPU users should complete graphics driver installation first, then configure Python and the AI toolchain to avoid environment conflicts. See the Hardware & Drivers section for driver installation.
- Python Environment — Manage Python versions and virtual environments with pyenv + venv/conda, pip mirror acceleration
- Local AI Toolchain — Deploy local inference and data science environments: NVIDIA CUDA/cuDNN, Ollama, Jupyter, PyTorch, TensorFlow
- Docker Containerization — Use NVIDIA Container Toolkit to access GPU compute in containers
- Editors & IDEs — VS Code Python extension and PyCharm configuration (for Jupyter, see Local AI Toolchain)
I’m a Backend / Systems Developer
Writing Go, Rust, or Java services, or maintaining infrastructure and DevOps projects. Your work may involve compilation, deployment, container orchestration, performance tuning, and virtualization.
If your project depends on multiple services (databases, message queues, etc.), consider using Docker Compose to orchestrate your local development environment to avoid manual installation and port conflicts.
- Go / Rust / Java — Installation, version management, and build toolchain configuration for each language
- Docker Containerization — Multi-container orchestration, image building best practices, development environment standardization
- Virtual Machines & Containers — Local virtualization with LXD, Multipass, QEMU/KVM
- Git, SSH & Terminal — GPG signed commits, multi-key SSH management, tmux session persistence
Quick Reference
| Article | Summary |
|---|---|
| Node.js Environment | nvm multi-version management, npm/pnpm/yarn package manager configuration |
| Python Environment | pyenv + venv/conda, pip mirror sources and virtual environment management |
| Go / Rust / Java | Installation for three major compiled languages, SDKMAN, rustup, and other version managers |
| Docker Containerization | Docker Engine installation, Compose orchestration, GPU container support |
| Virtual Machines & Containers | Local virtualization with LXD, Multipass, KVM/QEMU |
| Git, SSH & Terminal | Git configuration, SSH key management, Zsh/Fish/Starship terminal customization |
| Editors & IDEs | VS Code and JetBrains IDE installation and configuration (with notes on Neovim/Sublime/Zed) |
| Local AI Toolchain | Local AI and data science environments: CUDA/cuDNN, Ollama, Jupyter, PyTorch, TensorFlow |
General Development Tips
Regardless of your language or framework, the following tips apply to all Ubuntu developers:
- Keep your system updated — Run
sudo apt update && sudo apt upgraderegularly to ensure security patches and toolchain updates are applied - Use container isolation — Isolate dependencies for different projects with Docker or virtual environments to avoid global pollution
- Configure your Git identity — Set
user.nameanduser.emailbefore committing code — essential for team collaboration - Use SSH keys — Say goodbye to password-based GitHub/GitLab login — more secure and more convenient
This guide is written for the Ubuntu 26.04 LTS default environment. If you upgraded from an older version, some tool repository URLs or dependencies may need updating. Please pay attention to version notes in each article.