# Install required tools on MacOS

**Dependencies:**

1. ​[Docker for Mac](/portainer/contributing-to-portainer/contributing-to-the-portainer-project/install-instructions-for-prerequisite-tools.md#docker-for-mac) installs the Docker application and other Docker tools. The latest version is not a requirement for this development stack, however it is always advised to keep up to date as improvements and security fixes are released frequently.
2. ​[Yarn](/portainer/contributing-to-portainer/contributing-to-the-portainer-project/install-instructions-for-prerequisite-tools.md#yarn) is package manager for installing new software packages on your system and is used to run the Portainer development environment.
3. ​[Node.JS](/portainer/contributing-to-portainer/contributing-to-the-portainer-project/install-instructions-for-prerequisite-tools.md#node-js) is a JavaScript package used when building applications leveraging networking, such as Portainer. **Version 12 or greater** is required.
4. ​[Golang](/portainer/contributing-to-portainer/contributing-to-the-portainer-project/install-dependencies-on-linux.md#golang) is an open-source language, from which we build a majority of the Portainer software. **Version 1.15** is required.
5. [Wget](/portainer/contributing-to-portainer/contributing-to-the-portainer-project/install-instructions-for-prerequisite-tools.md#wget) is a package for retrieving files using common internet protocols such as HTTP and FTP.

## Docker for Mac

{% hint style="danger" %}
Docker for Mac requires OSX Mountain Lion or late&#x72;**,** otherwise it **WILL NOT** wor&#x6B;**.** \
**Make sure you check your version before you begin following this guide!**
{% endhint %}

**Installation Instructions:**

1. To begin installation [Download Docker](https://download.docker.com/mac/beta/Docker.dmg).
2. Navigate to where the Docker.dmg file downloaded and double click to open.
3. Drag-and-drop Docker into your Applications folder.
4. Next you must authorize the installation with your system password.
5. Wait for Docker to finish installing, and thats it!

*Optional Steps:*

1. It's a good idea to check your Docker installed successfully. Double-click Docker inside your Applications folder to start Docker.&#x20;
2. The whale icon should appear in your status bar, indicating Docker is running and accessible.

**Checking the installed Docker version**

Click on the Docker icon in the status bar and select "About Docker Desktop" from the menu. **Depending on your Docker version this option may be worded a little different.** A Docker window should now pop up displaying the current version of Docker and its supporting software.

{% hint style="info" %}
**Tip:** It is always a good idea to install software based on up-to-date instructions from the offical vendor. This guide was written based on **the official Docker help doc** for installation on macOS which can be found [here](https://runnable.com/docker/install-docker-on-macos).
{% endhint %}

*That’s it for Docker!*

## Yarn

{% hint style="warning" %}
This tutorial will makes use of the Homebrew package manager. If you don't have this installed, you can follow the tutorial on [the offical website](https://brew.sh/).
{% endhint %}

If you don't want to use Homebrew, you can find alternative tutorials on the [offical Yarn website](https://yarnpkg.com/en/docs/install#mac-stable).\
\
**Installation Instructions:**

1. Running `brew install yarn` in the macOS terminal will install Yarn.&#x20;
2. Confirm Yarn has successfully installed by running `yarn --version` command in the macOS terminal.\
   **The current version of yarn should now print out in your terminal.** This indicates that yarn is successfully installed and running on your system.

**Troubleshooting:**

If you are receiving errors when trying to install or use yarn, you can refer to their official documentation [here](https://yarnpkg.com/en/docs/install#mac-stable).

## Node.JS

{% hint style="info" %}
**Tip:** If you followed the above steps of this tutorial and used Homebrew to install Yarn, Node.JS should have been installed alongside it. Alternatively you can install it following the offical documentation [here](https://nodejs.org/en/download/).
{% endhint %}

To check if Node is installed on your system run `node --version` in your terminal. **The current version** of Node.JS should now print out. \
If you have a version of Node.JS greater than version 6 updating Node.JS is optional, however it is always recommended to check everything is up to date.

### Updating Node.JS

If you are running a version of Node.JS **older than version 6**, then you will not be able to run the Portainer development environment and will need to upgrade.&#x20;

You can follow the below instructions to upgrade Node.JS **if it was installed using Homebrew.**

1. Run `brew upgrade node` in the macOS terminal to upgrade.
2. Check the version of node to make sure that it has successfully installed by running `node --version`in your terminal. You should see a version **newer than v6**.

**Troubleshooting:**&#x20;

If you are having errors trying to install or upgrade Node.JS using Homebrew, it might be helpful to refer to the official documentation [here.](https://docs.brew.sh/Common-Issues)

## Golang

{% hint style="warning" %}
**Note:** Go version 1.15 is required. If you are upgrading from an older version of Go you must first [remove the existing version](https://golang.org/doc/install#uninstall).
{% endhint %}

There are two ways to install Go on a macOS system, using a tar and a package file. This tutorial makes use of the package installer. You can refer to offical go documentation [here](https://golang.org/doc/install#install) for up-to-date instructions.&#x20;

#### Installing GO using the macOS package installer: <a href="#macos" id="macos"></a>

1. [Download the package file](https://golang.org/dl/), open it, and follow the prompts to install the Go tools. This package installs the Go distribution to `/usr/local/go`.
2. The next step is to create a Go [Workspace](https://golang.org/doc/code.html#Workspaces) directory: navigate to /Home and create a directory (folder) called `go`*.* If you'd like to use a different directory, you will need to [set the`GOPATH` environment variable](https://golang.org/wiki/SettingGOPATH).
3. Verify GO is installed correctly by following the offical documentation [here](https://golang.org/doc/code.html#Testing).

**Troubleshooting:**&#x20;

If you are having errors trying to install or use GO, you can refer to the official guide [here](https://golang.org/doc/code.html#help).<br>

## Wget

Installing Wget on macOS is simple when you use Homebrew. Just run the `brew install wget` command in the terminal.

**Troubleshooting:**&#x20;

If you are having errors trying to install or use Wget, you can refer to the official guide [here](https://www.gnu.org/software/wget/manual/).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://portainer.gitbook.io/portainer/contributing-to-portainer/contributing-to-the-portainer-project/install-instructions-for-prerequisite-tools.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
