diff --git a/README.md b/README.md
index 004c3d18ad..11fbb16340 100644
--- a/README.md
+++ b/README.md
@@ -13,9 +13,9 @@
## Table of Contents
-- [Intro](#intro)
-- [About](#about)
-- [Installing and Updating](#installing-and-updating)
+- [1. Intro](#1-intro)
+- [2. About](#2-about)
+- [3. Installing and Updating](#3-installing-and-updating)
- [Install & Update Script](#install--update-script)
- [Additional Notes](#additional-notes)
- [Troubleshooting on Linux](#troubleshooting-on-linux)
@@ -26,7 +26,7 @@
- [Git Install](#git-install)
- [Manual Install](#manual-install)
- [Manual Upgrade](#manual-upgrade)
-- [Usage](#usage)
+- [4. Usage](#4-usage)
- [Long-term Support](#long-term-support)
- [Migrating Global Packages While Installing](#migrating-global-packages-while-installing)
- [Default Global Packages From File While Installing](#default-global-packages-from-file-while-installing)
@@ -47,27 +47,27 @@
- [Calling `nvm use` automatically in a directory with a `.nvmrc` file](#calling-nvm-use-automatically-in-a-directory-with-a-nvmrc-file)
- [fish](#fish)
- [Calling `nvm use` automatically in a directory with a `.nvmrc` file](#calling-nvm-use-automatically-in-a-directory-with-a-nvmrc-file-1)
-- [Running Tests](#running-tests)
-- [Environment variables](#environment-variables)
-- [Bash Completion](#bash-completion)
- - [Usage](#usage-1)
-- [Compatibility Issues](#compatibility-issues)
-- [Installing nvm on Alpine Linux](#installing-nvm-on-alpine-linux)
+- [5. Running Tests](#5-running-tests)
+- [6. Environment variables](#6-environment-variables)
+- [7. Bash Completion](#7-bash-completion)
+ - [Usage](#usage)
+- [8. Compatibility Issues](#8-compatibility-issues)
+- [9. Installing nvm on Alpine Linux](#9-installing-nvm-on-alpine-linux)
- [Alpine Linux 3.13+](#alpine-linux-313)
- [Alpine Linux 3.5 - 3.12](#alpine-linux-35---312)
-- [Uninstalling / Removal](#uninstalling--removal)
+- [10. Uninstalling / Removal](#10-uninstalling--removal)
- [Manual Uninstall](#manual-uninstall)
-- [Docker For Development Environment](#docker-for-development-environment)
-- [Problems](#problems)
-- [macOS Troubleshooting](#macos-troubleshooting)
-- [WSL Troubleshooting](#wsl-troubleshooting)
-- [Maintainers](#maintainers)
-- [License](#license)
-- [Copyright notice](#copyright-notice)
+- [11. Docker For Development Environment](#11-docker-for-development-environment)
+- [12. Problems](#12-problems)
+- [13. macOS Troubleshooting](#13-macos-troubleshooting)
+- [14. WSL Troubleshooting](#14-wsl-troubleshooting)
+- [15. Maintainers](#15-maintainers)
+- [16. License](#16-license)
+- [17. Copyright notice](#17-copyright-notice)
-## Intro
+## 1. Intro
`nvm` allows you to quickly install and use different versions of node via the command line.
@@ -90,12 +90,13 @@ v12.22.6
Simple as that!
-## About
+## 2. About
nvm is a version manager for [node.js](https://nodejs.org/en/), designed to be installed per-user, and invoked per-shell. `nvm` works on any POSIX-compliant shell (sh, dash, ksh, zsh, bash), in particular on these platforms: unix, macOS, and [windows WSL](https://github.com/nvm-sh/nvm#important-notes).
-## Installing and Updating
+
+## 3. Installing and Updating
### Install & Update Script
@@ -286,7 +287,7 @@ For manual upgrade with `git` (requires git v1.7.10+):
) && \. "$NVM_DIR/nvm.sh"
```
-## Usage
+## 4. Usage
To download, compile, and install the latest release of node, do this:
@@ -294,6 +295,12 @@ To download, compile, and install the latest release of node, do this:
nvm install node # "node" is an alias for the latest version
```
+You can list available versions using `ls-remote`:
+
+```sh
+nvm ls-remote
+```
+
To install a specific version of node:
```sh
@@ -302,11 +309,6 @@ nvm install 14.7.0 # or 16.3.0, 12.22.1, etc
The first version installed becomes the default. New shells will start with the default version of node (e.g., `nvm alias default`).
-You can list available versions using `ls-remote`:
-
-```sh
-nvm ls-remote
-```
And then in any new shell just use the installed version:
@@ -686,7 +688,7 @@ end
load_nvm > /dev/stderr
```
-## Running Tests
+## 5. Running Tests
Tests are written in [Urchin]. Install Urchin (and other dependencies) like so:
@@ -709,7 +711,7 @@ Run all of the tests like this:
Nota bene: Avoid running nvm while the tests are running.
-## Environment variables
+## 6. Environment variables
nvm exposes the following environment variables:
@@ -722,7 +724,7 @@ nvm exposes the following environment variables:
Additionally, nvm modifies `PATH`, and, if present, `MANPATH` and `NODE_PATH` when changing versions.
-## Bash Completion
+## 7. Bash Completion
To activate, you need to source `bash_completion`:
@@ -770,7 +772,7 @@ nvm uninstall:
my_alias default v10.22.0 v12.18.3 v14.8.0
```
-## Compatibility Issues
+## 8. Compatibility Issues
`nvm` will encounter some issues if you have some non-default settings set. (see [#606](https://github.com/creationix/nvm/issues/606))
The following are known to cause issues:
@@ -794,7 +796,7 @@ Shell settings:
set -e
```
-## Installing nvm on Alpine Linux
+## 9. Installing nvm on Alpine Linux
In order to provide the best performance (and other optimizations), nvm will download and install pre-compiled binaries for Node (and npm) when you run `nvm install X`. The Node project compiles, tests and hosts/provides these pre-compiled binaries which are built for mainstream/traditional Linux distributions (such as Debian, Ubuntu, CentOS, RedHat et al).
@@ -823,7 +825,8 @@ The Node project has some desire but no concrete plans (due to the overheads of
As a potential alternative, @mhart (a Node contributor) has some [Docker images for Alpine Linux with Node and optionally, npm, pre-installed](https://github.com/mhart/alpine-node).
-## Uninstalling / Removal
+
+## 10. Uninstalling / Removal
### Manual Uninstall
@@ -841,7 +844,7 @@ export NVM_DIR="$HOME/.nvm"
[[ -r $NVM_DIR/bash_completion ]] && \. $NVM_DIR/bash_completion
```
-## Docker For Development Environment
+## 11. Docker For Development Environment
To make the development and testing work easier, we have a Dockerfile for development usage, which is based on Ubuntu 18.04 base image, prepared with essential and useful tools for `nvm` development, to build the docker image of the environment, run the docker command at the root of `nvm` repository:
@@ -873,7 +876,7 @@ For more information and documentation about docker, please refer to its officia
- https://www.docker.com/
- https://docs.docker.com/
-## Problems
+## 12. Problems
- If you try to install a node version and the installation fails, be sure to run `nvm cache clear` to delete cached node downloads, or you might get an error like the following:
@@ -889,7 +892,7 @@ nvm install -s 0.8.6
- If setting the `default` alias does not establish the node version in new shells (i.e. `nvm current` yields `system`), ensure that the system's node `PATH` is set before the `nvm.sh` source line in your shell profile (see [#658](https://github.com/nvm-sh/nvm/issues/658))
-## macOS Troubleshooting
+## 13. macOS Troubleshooting
**nvm node version not found in vim shell**
@@ -994,7 +997,7 @@ Here's what you will need to do:
Now you should be able to use node as usual.
-## WSL Troubleshooting
+## 14. WSL Troubleshooting
If you've encountered this error on WSL-2:
@@ -1028,16 +1031,16 @@ You can check the contents of the file by running:
cat /etc/resolv.conf
```
-## Maintainers
+## 15. Maintainers
Currently, the sole maintainer is [@ljharb](https://github.com/ljharb) - more maintainers are quite welcome, and we hope to add folks to the team over time. [Governance](./GOVERNANCE.md) will be re-evaluated as the project evolves.
-## License
+## 16. License
See [LICENSE.md](./LICENSE.md).
-## Copyright notice
+## 17. Copyright notice
Copyright [OpenJS Foundation](https://openjsf.org) and `nvm` contributors. All rights reserved. The [OpenJS Foundation](https://openjsf.org) has registered trademarks and uses trademarks. For a list of trademarks of the [OpenJS Foundation](https://openjsf.org), please see our [Trademark Policy](https://trademark-policy.openjsf.org/) and [Trademark List](https://trademark-list.openjsf.org/). Node.js is a trademark of Joyent, Inc. and is used with its permission. Trademarks and logos not indicated on the [list of OpenJS Foundation trademarks](https://trademark-list.openjsf.org) are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.
-[The OpenJS Foundation](https://openjsf.org/) | [Terms of Use](https://terms-of-use.openjsf.org/) | [Privacy Policy](https://privacy-policy.openjsf.org/) | [OpenJS Foundation Bylaws](https://bylaws.openjsf.org/) | [Trademark Policy](https://trademark-policy.openjsf.org/) | [Trademark List](https://trademark-list.openjsf.org/) | [Cookie Policy](https://www.linuxfoundation.org/cookies/)
+[The OpenJS Foundation](https://openjsf.org/) | [Terms of Use](https://terms-of-use.openjsf.org/) | [Privacy Policy](https://privacy-policy.openjsf.org/) | [OpenJS Foundation Bylaws](https://bylaws.openjsf.org/) | [Trademark Policy](https://trademark-policy.openjsf.org/) | [Trademark List](https://trademark-list.openjsf.org/) | [Cookie Policy](https://www.linuxfoundation.org/cookies/)
\ No newline at end of file