๐Ÿš€ From Zero to LiveVPS + Claude ยท free course

Home โ€บ Module 5

Module 5 ยท Installing Your Toolchain

Give your server the tools it needs to build things

You're logged in as your own user now, not root โ€” nice work locking that down in Module 4. Next we install the actual tools that Claude and your project will use: a JavaScript engine, a save-point system for your code, and the "app store" command that fetches both.

๐ŸŽฏ Goal of this module

Prepare the environment Claude and your project will run in.

Meet apt, the server's app store

On your own laptop, installing something usually means hunting down a website and clicking "Download," then double-clicking an installer and clicking "Next" a few times. Servers do it differently, and honestly, more simply. Ubuntu comes with a built-in apt โ€” think of it as the server's own app store. You tell it a name, and it fetches the software, checks it's legitimate, and installs it, all from one line of text. No browser, no clicking around, no wondering if the download link is safe.

The pattern is always the same: sudo apt install NAME. Swap NAME for whatever you want โ€” git, for example. Before installing anything new, refresh the store's list of what's available. That's what sudo apt update does, and it's good habit to run it first, every time.

terminal
sudo apt update
sudo apt install PACKAGE-NAME
๐Ÿ’ก

In plain words

sudo apt update doesn't install anything by itself โ€” it just refreshes apt's list of what software exists and which versions are current. sudo apt install NAME is the command that actually installs something. You'll use this exact pattern below.

Install Node.js, the engine your project needs

Node.js is a program that lets your server run JavaScript, the language most modern web tools speak. You may have heard of JavaScript as "the language that makes websites interactive" โ€” Node.js takes that same language and lets it run directly on a server, outside of a browser. You need it installed for two reasons: many projects you'll build run on it, and Claude Code itself, which we install in Module 6, is built on Node and simply won't run without it.

The easy way: nvm

You could install Node straight from apt, but there's a friendlier tool built just for this job: nvm (Node Version Manager). It installs Node into your own user folder โ€” no sudo needed โ€” and lets you upgrade versions later with one short command, sidestepping the permission errors that trip people up with global installs.

  1. Get the current install line from the official page

    nvm's install command changes from time to time, so don't copy it from an old tutorial โ€” including this one. Go to github.com/nvm-sh/nvm and copy the curl command shown near the top of that page.

  2. Run it in your terminal

    It will look something like the line below. This is only an example to show you the shape of it โ€” paste the real one you just copied from GitHub, not this one.

    terminal
    # example only โ€” copy the current line from github.com/nvm-sh/nvm
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
  3. Reload your terminal so nvm loads

    Close the terminal window and open a fresh one, or just run this in the same window:

    terminal
    source ~/.bashrc
  4. Install the latest long-term version of Node

    "LTS" stands for long-term support โ€” the steady, well-tested version, not the bleeding-edge one.

    terminal
    nvm install --lts
๐Ÿงญ

Why bother with nvm?

Installing Node straight from apt works, but it's easy to hit permission errors later when a project needs something installed globally. nvm avoids all of that: everything lives in your own folder, upgrading is one command, and you never need sudo for Node-related work again.

Install git, a save-point system for your code

git is a tool that remembers every version of your project as you work. Think of it as unlimited save points in a video game โ€” if something breaks, you can always go back to an earlier one. Claude will often use git on your behalf while it works, so it's worth having installed and set up now.

terminal
sudo apt install git -y

Git labels every save with your name, so tell it who you are. These can be anything you like โ€” they're just labels, not a login:

terminal
git config --global user.name "Your Name"
git config --global user.email "you@example.com"

What "version control" actually means

Git lets you save snapshots of your project, called commits, whenever you reach a good stopping point. If you or Claude break something later, you can look back through those commits and undo the damage. You don't need to learn git deeply right now โ€” just know it exists, and that Claude leans on it to keep your work safe.

โœ…

You don't need to be a git expert

For this course, knowing that commits are save points is enough. Claude will handle the day-to-day git commands for you as you build.

Set up a working directory

Every project needs a home โ€” a folder on the server where its files live. That folder is your working directory. Let's make one now for the projects you'll build in this course.

terminal
mkdir ~/apps
cd ~/apps

mkdir makes a new folder, and cd moves you inside it. The ~ symbol is shorthand for your home folder โ€” your own private starting point on the server, separate from everyone else's.

Verify everything installed correctly

Let's make sure all three tools are ready before moving on. Run each of these and check that a version number prints back:

terminal
node -v
npm -v
git --version

You should see three version numbers, one per line, something like v22.x.x, 10.x.x, and 2.x.x โ€” the exact numbers don't matter, only that something prints instead of an error. npm is Node's built-in package installer โ€” it arrives automatically with Node, so seeing its version confirms Node is fully set up.

โš ๏ธ

Command not found?

If node -v says "command not found," your terminal probably hasn't loaded nvm yet. Close the terminal completely, open a fresh one, and try again. Still stuck? Run source ~/.bashrc first, then retry.

โœ… Recap
  • apt is the server's app store: sudo apt update, then sudo apt install NAME.
  • Node.js, installed via nvm, runs JavaScript and powers Claude Code.
  • git creates save points (commits) for your code โ€” you told it your name and email.
  • You made a working directory (~/apps) and verified all three tools with node -v, npm -v, and git --version.