Introduction
If you are already using MacOS, Ubuntu, or an official flavor of Ubuntu as your operating system and have Google Chrome as an installed browser, you can skip this lesson. Otherwise, follow the installation instructions below to set up your development environment.
Lesson overview
This section contains a general overview of topics that you will learn in this lesson.
- How to set up a proper environment to follow The Odin Project curriculum.
- Installing Google Chrome in your environment.
Choosing your setup
If you’re not already using MacOS, Ubuntu, or an official Ubuntu flavor, you’ll need to set up a development environment. Here’s what each option offers:
Virtual Machine (Recommended) is the easiest and most reliable way to get started. A VM runs Ubuntu inside your current operating system (like Windows), so you don’t need to modify your computer’s setup. This is the best choice for beginners.
Dual-Boot installs Ubuntu alongside your current operating system, letting you choose which one to use when you start your computer. This gives you a native Linux experience but requires partitioning your hard drive.
ChromeOS/ChromeOS Flex is for users who have a Chromebook or want to install ChromeOS Flex on older hardware. Chromebooks have built-in Linux support that works well for development.
WSL2 (Advanced) lets you run Linux directly within Windows without a VM or dual-boot. While powerful, it can cause confusion for new learners because you’re working across two operating systems simultaneously.
Be mindful of the OS you are using
We can only support the operating systems indicated above. Our instructions have been tested with MacOS, Ubuntu, and official flavors of Ubuntu. We do not recommend installing an OS that is only based on Ubuntu (like Mint, Pop!_OS, ElementaryOS, etc).
Why Google Chrome?
Because our lessons use Google Chrome, and Chrome/Chromium are overwhelmingly used by developers and consumers, the recommendations we make are very intentional. Look at this usage share of web browsers and see what other folks are using the most.
Google Chrome includes powerful developer tools that you’ll use throughout this curriculum to inspect, debug, and test your web applications. While other browsers have similar tools, our instructions and screenshots will assume you’re using Chrome.
Assignment
- If you’re not already running a supported environment, follow one of the installation guides below:
- Virtual Machine (Recommended) - The easiest and most reliable way to get started. A VM runs inside your current OS like Windows.
- Ubuntu/Windows Dual-Boot - Install Ubuntu alongside Windows on your computer.
- ChromeOS/ChromeOS Flex - Instructions for Chromebook users.
- WSL2 (Advanced) - Run Linux from within Windows. Can cause confusion for new learners due to less clear separation between operating systems.
Unsupported hardware and software
This curriculum only supports using a laptop, desktop or supported Chromebook. We cannot help you set up a developer environment on a RaspberryPi or any other device. You only need to follow one of these sets of instructions if you are not already using MacOS, Ubuntu, or an official flavor of Ubuntu as your operating system.
If you are already using supported hardware and software, you can skip straight to step 2 below.
-
Because our lessons use Google Chrome, and Chrome/Chromium are overwhelmingly used by developers and consumers, the recommendations we make are very intentional. Look at this usage share of web browsers and see what other folks are using the most.
Install Google Chrome for your operating system:
- Linux - For Ubuntu, Xubuntu, and other Linux distributions.
- MacOS - For Mac users.
- WSL2 - For WSL2 users on Windows.
Chrome shortcuts
Google Chrome is one of the most important tools that you will be using throughout the curriculum. This reference has many common shortcuts that you may find useful when using Chrome.
Knowledge check
The following questions are an opportunity to reflect on key topics in this lesson. If you can’t answer a question, click on it to review the material, but keep in mind you are not expected to memorize or master this knowledge.