Skip to Content
DocsDevelopmentDevelopment Environment

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.

Tip

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).

Tip

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.

Tip

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.


Quick Reference

ArticleSummary
Node.js Environmentnvm multi-version management, npm/pnpm/yarn package manager configuration
Python Environmentpyenv + venv/conda, pip mirror sources and virtual environment management
Go / Rust / JavaInstallation for three major compiled languages, SDKMAN, rustup, and other version managers
Docker ContainerizationDocker Engine installation, Compose orchestration, GPU container support
Virtual Machines & ContainersLocal virtualization with LXD, Multipass, KVM/QEMU
Git, SSH & TerminalGit configuration, SSH key management, Zsh/Fish/Starship terminal customization
Editors & IDEsVS Code and JetBrains IDE installation and configuration (with notes on Neovim/Sublime/Zed)
Local AI ToolchainLocal 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 upgrade regularly 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.name and user.email before committing code — essential for team collaboration
  • Use SSH keys — Say goodbye to password-based GitHub/GitLab login — more secure and more convenient
Note

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.

Last updated on