Files
medusa-store/www/apps/docs/content/cli/reference.mdx
2024-02-29 13:37:36 +01:00

185 lines
5.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
description: 'Learn how to install the Medusa CLI Tool. Medusa CLI Tool can be used to perform actions such as create a new Medusa backend, run migrations, create a new admin user, and more.'
---
import DetailsListSection from "../troubleshooting/cli-installation-errors/_reusable-section.mdx"
# CLI Reference
This document serves as a reference to the Medusa CLI tool including how to install it and what commands are available.
## Overview
The Medusa CLI serves as a tool that allows you to perform important commands while developing with Medusa.
To use Medusa, it is required to install the CLI tool as it is used to create a new Medusa backend.
---
## How to Install CLI Tool
In your Medusa backend's directory, you can use the Medusa CLI tool using NPX. For example:
```bash
npx medusa --help
```
Alternatively, you can install the CLI tool globally:
```bash npm2yarn
npm install @medusajs/medusa-cli -g
medusa --help
---
## Troubleshooting Installation
<DetailsListSection />
---
## Commands
### new
Create a new Medusa backend.
```bash
medusa new [<backend_name> [<starter_url>]]
```
#### Arguments
| Name | Description | Default |
| --- | --- | --- |
| `backend_name` | The name of the Medusa backend. It will be used as the name of the directory created. | If not provided, youll be prompted to enter it. |
| `starter_url` | The URL of the starter to create the backend from. | The default starter is used. |
#### Options
| Name | Description |
| --- | --- |
| `-y`, `--useDefaults` | If the flag is set the command will not interactively collect database credentials. |
| `--skip-db` | If the flag is set the command will not attempt to complete the database setup. |
| `--skip-migrations` | If the flag is set the command will not attempt to complete the database migration. |
| `--skip-env` | If the flag is set the command will not attempt to populate .env. |
| `--db-user <user>` | The database user to use for database setup and migrations. |
| `--db-database <database>` | The database used for database setup and migrations. |
| `--db-pass <password>` | The database password to use for database setup and migrations. |
| `--db-port <port>` | The database port to use for database setup and migrations. |
| `--db-host <host>` | The database host to use for database setup and migrations. |
### develop
Start development backend. This command watches files for any changes to rebuild the files and restart the backend.
```bash
medusa develop
```
#### Options
| Name | Description |
| --- | --- |
| `-H <host>`, `--host <host>` | Set host. Defaults to `localhost`. |
| `-p <port>`, `--port <port>` | Set port. Defaults to `9000`. |
### start
Start backend in production.
```bash
medusa start
```
#### Options
| Name | Description |
| --- | --- |
| `-H <host>`, `--host <host>` | Set host. Defaults to `localhost`. |
| `-p <port>`, `--port <port>` | Set port. Defaults to `9000`. |
### migrations
Perform migration actions to reflect changes on the database, such as running or reverting migrations.
```bash
medusa migrations <action>
```
#### Arguments
| Name | Description | Default |
| --- | --- | --- |
| `action` | The action to perform. Values can be `run`, `show`, or `revert`. `run` is used to run the migrations; `show` is used to only show what migrations are available to run; and `revert` is to undo the last migration. | This argument is required and does not have a default value. |
### seed
Migrates and populates the database with the provided file.
```bash
medusa seed --seed-file=<file_path>
```
#### Options
| Name | Description |
| --- | --- |
| `-f=<file_path>`, `--seed-file=<file_path>` | Path to the file where the seed is defined. (required) |
| `-m`, `--migrate` | Flag to indicate if migrations should be run prior to seeding the database. Default is true. |
### user
Creates a new admin user.
```bash
medusa user --email <email> [--password <password>]
```
#### Options
| Name | Description |
| --- | --- |
| `-e <email>`, `--email <email>` | The email to create a user with. (required) |
| `-p <password>`, `--password <password>` | The password to use with the user. If not included, the user will not have a password. |
| `-i <id>`, `--id <id>` | The users ID. By default it is automatically generated. |
| `--invite` | Whether to create an invite instead of a user. When using this option, you don't need to specify a password. If ran successfully, you'll receive the invite token in the output. |
### start-cluster
Starts the Medusa backend in [cluster mode](https://expressjs.com/en/advanced/best-practice-performance.html#run-your-app-in-a-cluster). Running in cluster mode will likely significantly improve performance as the workload and tasks are distributed among all available instances instead of a single one.
```bash
medusa start-cluster
```
#### Options
| Name | Description |
| --- | --- |
| `-c <number>`, `--cpus <number>` | The number of CPUs that Medusa can consume. By default, Medusa will try to consume all CPUs in cluster mode if this option isn't specified. |
| `-H <host>`, `--host <host>` | Set host. Defaults to `localhost`. |
| `-p <port>`, `--port <port>` | Set port. Defaults to `9000`. |
### telemetry
Enable or disable the collection of anonymous data usage. If no option is provided, the command will enable the collection of anonymous data usage.
```bash
medusa telemetry
```
#### Options
| Name | Description |
| --- | --- |
| `--enable` | Enable telemetry (default) |
| `--disable` | Disable telemetry |
---
## See Also
- [Configure Medusa](../references/medusa_config/interfaces/medusa_config.ConfigModule.mdx)
- [Set up your development environment](../development/backend/prepare-environment.mdx)