nx/docs/shared/getting-started/installation.md
Jack Hsu 719c5f55fb
docs(core): update Nx installation steps to prefer global installs (#31513)
This PR makes the global install more prominent. This is important for
non-JS workspaces since they may not have node or npm available. The
installation flow should be:

1. Install Nx (e.g. `brew install nx`)
2. Run `nx init` in your project

The `create-nx-workspace` is removed since it's already mentioned on the
intro page, and it is covered in tutorials. It is also not technically
an "install" command.

Preview:
https://nx-dev-git-docs-update-installation-nrwl.vercel.app/getting-started/installation

**Note:** The cross-platform NPM install is still featured first because
it'll work for everyone. It shouldn't be a concern for non-JS devs since
other tools like Claude Code also has `npm install --global` as their
install step.
2025-06-10 09:34:10 -04:00

95 lines
2.6 KiB
Markdown

---
title: Installation
description: Learn how to install Nx in a new workspace, add it to an existing repository, install it globally, or set it up in a non-JavaScript repository with step-by-step instructions.
---
# Installation
To install Nx on your machine, choose one of the following methods based on your operating system and package manager. You can also use `npx` to run Nx without installing it globally.
{% tabs %}
{% tab label="npm" %}
```shell
npm add --global nx
```
**Note:** You can also use yarn, pnpm, or bun
{% /tab %}
{% tab label="Homebrew (macOS, Linux)" %}
```shell
brew install nx
```
{% /tab %}
{% tab label="Chocolatey (Windows)" %}
```shell
choco install nx
```
{% /tab %}
{% tab label="apt (Ubuntu)" %}
```shell
sudo add-apt-repository ppa:nrwl/nx
sudo apt update
sudo apt install nx
```
{% /tab %}
{% /tabs %}
## Adding Nx Into Your Repository
To add Nx to an existing repository run:
```shell
nx init
```
**Note:** You can also manually install the nx NPM package and create a [nx.json](/reference/nx-json) to configure it. Learn more about [adopting Nx in an existing project](/recipes/adopting-nx)
### Starter Repository
To create a starter repository, you can use the `create-nx-workspace` command. This will create a new Nx workspace with a default configuration and example applications.
```shell
npx create-nx-workspace@latest
```
## Update Nx
When you update Nx, Nx will also [automatically update your dependencies](/features/automate-updating-dependencies) if you have an [Nx plugin](/concepts/nx-plugins) installed for that dependency. To update Nx, run:
```shell
nx migrate latest
```
This will create a `migrations.json` file with any update scripts that need to be run. Run them with:
```shell
nx migrate --run-migrations
```
{% callout title="Update One Major Version at a Time" %}
To avoid potential issues, it is [recommended to update one major version of Nx at a time](/recipes/tips-n-tricks/advanced-update#one-major-version-at-a-time-small-steps).
{% /callout %}
## Tutorials
Try one of these tutorials for a full walkthrough of what to do after you install Nx
- [TypeScript Monorepo Tutorial](/getting-started/tutorials/typescript-packages-tutorial)
- [React Monorepo Tutorial](/getting-started/tutorials/react-monorepo-tutorial)
- [Angular Monorepo Tutorial](/getting-started/tutorials/angular-monorepo-tutorial)
## More Documentation
- [Add Nx to an Existing Repository](/recipes/adopting-nx)
- [Update Nx](/features/automate-updating-dependencies)
- [Update Your Global Nx Installation](/recipes/installation/update-global-installation)
- [Install Nx in a Non-Javascript Repo](/recipes/installation/install-non-javascript)