This guide will explain how to install all the software you need to start the course.
Before you start you should read the System Requirements guide to make sure your computer is appropriate. This is especially true for Windows users, since you’ll need a Linux environment for most of this guide to work.
If you hit any problems check the troubleshooting section.
We’ll be using a “package manager” to install most things. Package managers are software you use to install other software. They make it easier to install lots of things at once and keep track of everything you have. This is a more structured way than just going to a website, finding the right link and downloading an installer.
If you’re using Linux (even on Windows) you should have the
apt package manager already, since it’s the standard way to install things on most Linux distributions.
Macs don’t come with a package manager, so you’ll need to install Homebrew before anything else.
Here’s a quick summary of the things we need. We’ll cover what each one is and how to install it below.
- iTerm2 (Mac) or Windows Terminal
- VS Code (or your preferred editor)
Git is a program for tracking changes to the code you write. Most systems come with this installed, but it’s worth making sure you have a relatively recent version. You can run this in your terminal to check the version:
If you need to install Git you can use your package manager.
brew install git
apt-get install git
You should make sure the email matches your email on GitHub, so that you don’t end up with multiple versions of yourself committing to a project. If you want to keep your email private GitHub can provide you with a “no-reply” email for use with Git.
git config --global user.name "Example Name"
git config --global user.email "firstname.lastname@example.org"
You don’t want to install this with a package manager, since it’s a language not a normal program. Most package managers have out-of-date versions.
We’ll install Node with Volta, which is a tool for managing Node versions. This command will download their install script (with
curl) then pass the script to
bash to run it:
curl https://get.volta.sh | bash
You may have to restart your Terminal afterwards.
You can now use Volta to install different versions of Node:
volta install node
This will automatically pick the current “Long-Term Support” (LTS) version of Node, which is usually what you want.
If for some reason you don’t have it, or it is very out-of-date, you can install it with Volta too:
volta install npm
You probably want to install a nicer Terminal program than the default. This is mostly down to personal preference, but you’ll be spending a lot of time in the Terminal so it’s worth finding something you like. We also recommend customising your Terminal.
iTerm2 is great on macOS. You can either install it manually from their website or with Homebrew:
brew install --cask iterm2
The new Windows Terminal is designed for Linux-on-Windows (WSL). They recommend you install it from the Windows Store.
You’ll be writing a lot of code, so you’ll want a nice editor. We recommend VS Code. It’s probably easiest to install this via the website.
You may need to install the “command-line tools”. This allows you to run
code . in your Terminal to open the current folder in your editor (this is very useful!).
code --version. If you get an error you need to open VS Code, hit
ctrl-shift-p on Windows/Linux) to open the command-palette, then search for “shell”. Select the option that says:
Shell Command: Install ‘code’ command in PATH.
It’s a good idea to have a few different browsers installed for testing your websites, as they don’t always work in exactly the same way.
PostgreSQL is a database program. It’s used by lots of websites to save user information. You won’t need it until Database Week in the full-time course, but it’s best to make sure it’s installed earlier.
You can run our installation checker script to make sure everything is installed correctly:
sh -c "$(curl -s https://learn.foundersandcoders.com/installation-checker.sh)"
This will tell you what version (if any) you have of each required program. You want at least these minimum versions: Node 16, npm 8, psql 14.
Every computer is different and has a different combination of operating system, version, etc. This means it’s likely you’ll encounter some problems installing at least one thing. This can be frustrating, but try to take a deep breath and work through the issue.
The most important skill to learn as a developer is how to carefully read an error message and figure out what went wrong. So in a way fixing problems at this stage is great practice starting out in your career!
- Read the error message. If it’s very long make sure you scroll right to the top.
- If the error message suggested a solution try that first. If it pointed out an obvious issue (like a mispelled command) try correcting it and running again.
- If the error isn’t self-explanatory google the exact message plus the general technology. For example is Homebrew fails to install with a message like
Failed during git fetch...then search for
Homebrew "Failed during git fetch". The quotes tell Google you want the results to include that exact string.
- Don’t be afraid to try suggestions off the internet. You’ll find yourself copy/pasting things from Stack Overflow throughout your career. However bear in mind that Terminal commands can be dangerous, so be a little cautious and make sure you read things before blindly pasting them.
Some problems come up again and again, so it’s quicker to list them here than have everyone google them.
Did your Volta install script succeed, but you cannot actually use it (e.g. you get
Command not found when running
volta install node)?
This means the Volta program was not added to your Terminal’s
PATH is a list of every command-line program that is installed. It’s where your Terminal looks for available commands whenever you type anything (e.g.
cd are listed inside
Volta is supposed to automatically do this, but sometimes it does so in the wrong config file (e.g. if you have both Bash and Zsh configs). You can manually add the required lines. First determine which shell you’re using with:
This will print something like
/bin/bash. If your shell is Zsh (the default on modern Macs) then you want to edit the
.zshrc config file. If it is Bash you either want the
.bash_profile config files.
These config files live in your “home directory”. The tilde symbol (
~) is a shortcut for this directory. You can list everything inside of it with:
ls -a ~
You should be able to see the config file you need in there. Open it in your text editor with:
and add the following lines (there might be existing config; you can add these lines anywhere):
Restart your Terminal and you should now be able to use the
Homebrew uses Git to download all of the information it needs about packages. This
homebrew/core repo is very big, and can fail to download. You may see an error like:
==> Tapping homebrew/core ... fatal: the remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed Failed during git fetch...
This usually means the download was interrupted midway through. You can try re-running the same command in case it was a fluke. However we’ve found that some Internet Service Providers enable “protection” settings that mess with large Git downloads.
The easiest way to verify this is to tether your laptop to your phone’s hotspot and retry. If that works you may want to investigate your ISPs settings and see if there’s something you need to disable.