---
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.

:::warning

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).

    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.
