---
description: 'Learn how to prepare your development environment while using Medusa. This guide includes how to install Node.js, Git, Medusa CLI tool, and PostgreSQL.'
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import MedusaCliTroubleshootingSection from '../../troubleshooting/cli-installation-errors/_reusable-section.mdx'

# Prepare Development Environment

This document includes the installation instructions for the tools required to use and run Medusa.

## Node.js

Node.js is the environment that makes it possible for Medusa to run, so you must install Node.js on your machine to start Medusa development.

:::caution

Medusa supports v16+ of Node.js. You can check your Node.js version using the following command:

```bash noReport
node -v
```

:::

<Tabs groupId="operating-systems" queryString="os">
<TabItem value="windows" label="Windows" default>

You can install the executable directly from [the Node.js website](https://nodejs.org/en/#home-downloadhead).

For other approaches, you can check out [Node.js’s guide](https://nodejs.org/en/download/package-manager/#windows-1).

</TabItem>
<TabItem value="linux" label="Linux">

You can use the following commands to install Node.js on Ubuntu:

```bash
#Ubuntu
sudo apt update
sudo apt install nodejs
```

For other Linux distributions, you can check out [Node.js’s guide](https://nodejs.org/en/download/package-manager/).

</TabItem>
<TabItem value="macos" label="macOS">

You can use the following commands to install Node.js on macOS:

<Tabs groupId="homebrew" isCodeTabs={true}>
<TabItem value="homebrew" label="Homebrew">

```bash
brew install node
```

</TabItem>
<TabItem value="no-homebrew" label="Without Homebrew">

```bash
curl \
 "https://nodejs.org/dist/latest/node-${VERSION:-$(wget -qO- \
  https://nodejs.org/dist/latest/ | sed -nE \ 
  's|.*>node-(.*)\.pkg</a>.*|\1|p')}.pkg" \
  > "$HOME/Downloads/node-latest.pkg" && 
  sudo installer -store -pkg "$HOME/Downloads/node-latest.pkg" -target "/"
```

</TabItem>
</Tabs>

For other approaches, you can check out [Node.js’s guide](https://nodejs.org/en/download/package-manager/#macos).

:::tip

Make sure that you have Xcode command line tools installed; if not,  run the following command to install it: `xcode-select --install`

:::
</TabItem>
</Tabs>

## Git

Medusa uses Git behind the scenes when you create a new project. So, you'll have to install it on your machine to get started.

<Tabs groupId="operating-systems" queryString="os">
<TabItem value="windows" label="Windows" default>

To install Git on Windows, you need to [download the installable package](https://git-scm.com/download/win).

</TabItem>
<TabItem value="linux" label="Linux">

For Debian/Ubuntu, you can use the following command:

```bash
apt-get install git
```

As for other Linux distributions, please check [git’s guide](https://git-scm.com/download/linux).

</TabItem>
<TabItem value="macos" label="macOS">

You should already have Git installed as part of the Xcode command-line tools.

However, if for any reason you need to install it manually, you can install it with Homebrew:

```bash
brew install git
```

You can also check out [git’s guide](https://git-scm.com/download/mac) for more installation options.

</TabItem>
</Tabs>

## PostgreSQL

The Medusa backend uses PostgreSQL to store data of your commerce system.

<Tabs groupId="operating-systems" queryString="os">
<TabItem value="windows" label="Windows">

You can [download the PostgreSQL Windows installer](https://www.postgresql.org/download/windows/) from their website.

</TabItem>
<TabItem value="linux" label="Linux">

If you’re using Ubuntu, you can use the following commands to download and install PostgreSQL:

```bash
sudo sh -c \
  'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - \
  https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install postgresql
```

For other distributions, you can check out [PostgreSQL’s website for more guides](https://www.postgresql.org/download/linux/).

</TabItem>
<TabItem value="macos" label="macOS">

You can download PostgreSQL on your macOS using [the installer on their website](https://www.postgresql.org/download/macosx/).

</TabItem>
</Tabs>

## (Optional) Medusa CLI

Medusa provides a CLI tool that can aid your through your Medusa development. You can install it globally, or you can use it through `npx`.

You can install Medusa’s CLI with the following command:

```bash npm2yarn
npm install @medusajs/medusa-cli -g
```

To confirm that the CLI tool was installed successfully, run the following command:

```bash noReport
medusa -v
```

### Troubleshooting Installation

<MedusaCliTroubleshootingSection />

---

## Install Medusa Backend

Once you're done installing the necessary tools in your environment, check out the [Medusa Backend Quickstart](./install.mdx) to install your Medusa backend.
