* docs: added node.js required version for next.js storefront * changed required version of node across docs * small fix
222 lines
6.6 KiB
Plaintext
222 lines
6.6 KiB
Plaintext
---
|
||
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 styles from './development.module.css';
|
||
import Tabs from '@theme/Tabs';
|
||
import TabItem from '@theme/TabItem';
|
||
|
||
# Prepare Development Environment
|
||
|
||
This document will guide you to prepare your development environment to efficiently and properly use Medusa.
|
||
|
||
## Required Tools
|
||
|
||
To get your development environment ready you need to install the following tools:
|
||
|
||
### Node.js
|
||
|
||
Node.js is the environment that makes it possible for Medusa to run, so you must install Node.js on your computer to start Medusa development.
|
||
|
||
:::caution
|
||
|
||
Medusa supports v16 or greater of Node.js. You can check your Node.js version using the following command:
|
||
|
||
```bash noReport
|
||
node -v
|
||
```
|
||
|
||
:::
|
||
|
||
<Tabs groupId="operating-systems" wrapperClassName={styles.osTabs}>
|
||
<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" wrapperClassName='code-tabs'>
|
||
<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 computer to get started.
|
||
|
||
<Tabs groupId="operating-systems" wrapperClassName={styles.osTabs}>
|
||
<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>
|
||
|
||
### Medusa CLI
|
||
|
||
The final installation required to get started with Medusa is the Medusa CLI. It is an NPM package you can install globally on your machine to get instant access to commands that help you manage and run your Medusa project.
|
||
|
||
You can install Medusa’s CLI with the following command:
|
||
|
||
```bash npm2yarn
|
||
npm install @medusajs/medusa-cli -g
|
||
```
|
||
|
||
You can check that Medusa was installed by running the following command:
|
||
|
||
```bash noReport
|
||
medusa -v
|
||
```
|
||
|
||
:::note
|
||
|
||
If you run into any errors while installing the CLI tool, check out the [troubleshooting guide](../../troubleshooting/cli-installation-errors.mdx).
|
||
|
||
:::
|
||
|
||
---
|
||
|
||
## Install Medusa Backend
|
||
|
||
If you're not interested in installing the optional tools and want to get started with Medusa quickly, check out the [Medusa Backend Quickstart](./install.mdx).
|
||
|
||
---
|
||
|
||
## Optional Tools
|
||
|
||
These tools are not required to have to run a Medusa backend, but it's highly recommended that you have them installed.
|
||
|
||
### PostgreSQL
|
||
|
||
Although you can use an SQLite database with Medusa which would require no necessary database installations, it is recommended to use a PostgreSQL database for your backend.
|
||
|
||
:::tip
|
||
|
||
After installing PostgreSQL, check out the [Configure your Backend documentation](./configurations.md#postgresql-configurations) to learn how to configure PostgreSQL to work with Medusa.
|
||
|
||
:::
|
||
|
||
<Tabs groupId="operating-systems" wrapperClassName={styles.osTabs}>
|
||
<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>
|
||
<TabItem value="docker" label="Docker">
|
||
|
||
Make sure the Docker Desktop app is running, then run the following command to quickly spin up a PostgreSQL instance:
|
||
|
||
```bash
|
||
docker run --name postgres -e POSTGRES_USER=postgres \
|
||
-e POSTGRES_PASSWORD=postgres -e \
|
||
POSTGRES_DB=medusa-docker -p 5432:5432 -d postgres
|
||
```
|
||
|
||
Where:
|
||
|
||
- `--name` creates a new container named `postgres`.
|
||
- `-e` creates environment variables `POSTGRES_USER`, `POSTGRES_PASSWORD` and `POSTGRES_DB`. These will be used to set up a database named `medusa-docker` with the username and password being `postgres`.
|
||
- `-p` maps the container port `5432` to the external host `5432`. This allows you to connect to the database backend from outside of the container.
|
||
- `-d` enables Docker to run the container in the background.
|
||
- The last section of the command, `postgres` grabs the latest postgres image from the Docker hub.
|
||
|
||
</TabItem>
|
||
</Tabs>
|
||
|
||
---
|
||
|
||
## See Also
|
||
|
||
- [Install Medusa backend](./install.mdx)
|
||
- [Configure the Medusa backend](./configurations.md)
|