Installing Commandline Environments


While MacOS is based on BSD and thus has a POSIX-compiant terminal built in, there are a number of commandline tools that do not ship standard with MacOS. In order to install these additional tools, there are a few steps that you must take:

Install the Developer Tools

  1. Download and Install Xcode
  2. After installing Xcode, launch the Terminal from /Applications/Utilities/
    • (or iTerm, if you prefer a more customizable terminal emulator)
  3. Run the command:
    xcode-select --install 

MacPorts & Homebrew

After the prerequisite developer tools are installed, there are two projects that replicate the package manager functionality of yum or apt in linux:

Both are actively supported, and which you choose is a matter of preference; both systems have their supporters. Refer to the homepage for each for instructions on how to install.


Windows 10 ships with cmd.exe and powershell. Neither are POSIX-like, and we would encourage students to install one of the more POSIX-like shells for running programs locally to ensure the command lines used mirror the syntax that will be used for grading code on the department servers. If you would prefer to stick with cmd.exe or powershell, however, you may install chocolatey to provide a package manager for commandline tools such as python or ssh.

The two options for POSIX environments are:

The choice of system you install is a matter of preference, though WFL will act slightly more similar to a Linux system, using yum or apt to manage package installation, while Cygwin requires running the Cygwin setup executable GUI.


…you almost certainly have a POSIX environment, as well as either apt or yum (Maybe even emerge), and so can install packages with your default package manager.

Topic revision: r2 - 2018-09-19 - 20:15:16 - levow

This site is powered by the TWiki collaboration platformCopyright & by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Privacy Statement Terms & Conditions