Before continuing on, ensure that you have completed all of the tasks listed in the V School Preparation page, including the ones at the bottom

TL;DR: That page has you get the following accounts:

You also need to:

  • Download a text editor. We recommend VS Code.
  • Download the native Slack client. (Best option might be to download it from the Mac App Store or Microsoft Store)
  • Download note-taking software. We recommend Evernote or Bear.
  • Update to the latest version of MacOS or Windows 10

There are a number of technical setup items we need to get out of the way that will make our learning process go more smoothly. Because we ❤️ you, we've written a simple bash script that will help take care of the more technical setup items for you, with minimal input on your end.

If you prefer to manually complete the setup, jump down to the manual technical setup section.

Automatic setup with bash script

It isn't usually a good idea to just run random scripts without knowing what's happening. Below we outline exactly what this bash script does, and you're welcome to check out the contents of the script before running it and ask us what any particular line of code in the script means before running it.

How do I use the setup script?

1. Open Terminal and run the following command (copy/paste it):

sudo chown -R $(whoami) /usr/local/var/homebrew

2.   Still in terminal, run the following (triple click to select the whole thing, which may automatically run it when you paste it in to terminal. (Paste first, then press enter if necessary):

bash <(curl -s https://raw.githubusercontent.com/VSchool/computer-setup/master/vschool-computer-setup.sh)

3.   The script should guide you much of the way. Make sure to read the instructions it gives carefully.

4.   When everything completes successfully, close and re-open Terminal. You may see the following insecure directories error message:

zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]? yzsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]? y%     ~ $ 
  • Type ‘y’ two times to confirm the dialogue options
  • Run compaudit to see the affected directories. You may then see something like this:
There are insecure directories:
/usr/local/share/zsh/site-functions
/usr/local/share/zsh

if so copy/paste the following commands into Terminal, replacing the folder locations at the end with whichever folder locations you saw from above:

sudo chown -R ${whoami} /usr/local/share/zsh/site-functions
sudo chown -R ${whoami} /usr/local/share/zsh

5.   Run compaudit again and you should see the error message(s) cleared

That's it!

If anything appears to be out of order, please reach out to an instructor for help before trying to mess with something yourself.

What is the vschool-computer-setup.sh script doing?

Running the setup script does the following:

  1. Checks if you already have an SSH key
  • If not, it creates one for you, using your github email address as the comment to the file so you get credit for your contributions to Github.
  • Copies the SSH key to your clipboard so you can paste it into your Github SSH key settings
  1. Installs Homebrew
  • Homebrew is a popular package manager for installing developer tools. We use Homebrew to install the Node Version Manager, or nvm. Later in the course we'll also use it to install MongoDB.
  • This script also sets up the folder structure and .bash_profile commands necessary to ensure nvm works correctly
  1. Uses nvm to install the latest version of node.js
  2. Sets up git command tab completion and modifies your terminal prompt to show your current git branch if you're inside a git repository.
  • These are features that make working with Git much nicer.
  1. Closes the Terminal program to ensure that all changes are applied.

Manual Technical Setup

**If you ran the setup script from the top of this article, you're already done! No need to do any of the steps in this section.** 🎉

Create an SSH key

  1. Check to see if you already have an SSH key. Run cat ~/.ssh/id_rsa.pub.
  • If it prints out a long string of characters, skip to step 3.
  1. In terminal, run the following: ssh-keygen -t rsa -N "" -f id_rsa -C your_github_email@here.com (Making sure to replace your_github_email@here.com with the actual email you use on Github).
    If you're unsure which email you used to sign up for Github, check the Public email section of your Github profile settings
  2. Run cat ~/.ssh/id_rsa.pub and copy your new ssh key to the clipboard so you can add it to your GitHub account.

Install Homebrew, NVM, and Node.js

Modify your terminal prompt to be awesome

Set up your Git config

Enter the following (replacing the name and email with your actual name and GitHub email address):

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

This ensures you get credit on GitHub for your commits.