58 lines
2.2 KiB
Markdown
58 lines
2.2 KiB
Markdown
|
# nvm plugin
|
||
|
|
||
|
This plugin adds autocompletions for [nvm](https://github.com/nvm-sh/nvm) — a Node.js version manager. It also
|
||
|
automatically sources nvm, so you don't need to do it manually in your `.zshrc`.
|
||
|
|
||
|
To use it, add `nvm` to the plugins array of your zshrc file:
|
||
|
|
||
|
```zsh
|
||
|
plugins=(... nvm)
|
||
|
```
|
||
|
|
||
|
## Settings
|
||
|
|
||
|
If you installed nvm in a directory other than `$HOME/.nvm`, set and export `NVM_DIR` to be the directory
|
||
|
where you installed nvm.
|
||
|
|
||
|
These settings should go in your zshrc file, before Oh My Zsh is sourced:
|
||
|
|
||
|
- **`NVM_HOMEBREW`**: if you installed nvm via Homebrew, in a directory other than `/usr/local/opt/nvm`, you
|
||
|
can set `NVM_HOMEBREW` to be the directory where you installed it. For example, on Apple Silicon-based Macs,
|
||
|
[Homebrew is installed in `/opt/homebrew`](https://docs.brew.sh/Installation). To get the directory where
|
||
|
nvm has been installed, regardless of chip architecture, use `NVM_HOMEBREW=$(brew --prefix nvm)`.
|
||
|
|
||
|
## Customization
|
||
|
|
||
|
#### Lazy startup
|
||
|
|
||
|
This option will help you to defer nvm's load until you use it to speed-up your zsh startup. This will source
|
||
|
nvm script only when using it, and will create a function for `node`, `npm`, `npx`, `pnpm`, `yarn`, `corepack`
|
||
|
and the command(s) specified by `lazy-cmd` option, so when you call either of them, nvm will be loaded and run
|
||
|
with default version. To enable it, you can add this snippet to your zshrc, before Oh My Zsh is sourced:
|
||
|
|
||
|
```zsh
|
||
|
zstyle ':omz:plugins:nvm' lazy yes
|
||
|
```
|
||
|
|
||
|
Then, to define extra commands that will also trigger nvm load, you can use a similar syntax, adding as many
|
||
|
as you want:
|
||
|
|
||
|
```zsh
|
||
|
zstyle ':omz:plugins:nvm' lazy-cmd eslint prettier typescript ...
|
||
|
```
|
||
|
|
||
|
#### `.nvmrc` autoload
|
||
|
|
||
|
Note: _if used at the same time as `lazy`, `autoload` will start working only after nvm has been lazy-loaded_
|
||
|
|
||
|
If set, the plugin will automatically load a node version when if finds a
|
||
|
[`.nvmrc` file](https://github.com/nvm-sh/nvm#nvmrc) in the current working directory indicating which node
|
||
|
version to load. This can be done, similar as previous options, adding:
|
||
|
|
||
|
```zsh
|
||
|
zstyle ':omz:plugins:nvm' autoload yes
|
||
|
zstyle ':omz:plugins:nvm' silent-autoload yes # optionally remove the output generated by NVM when autoloading
|
||
|
```
|
||
|
|
||
|
Note: _this will not remove regular `nvm` output_
|