https://github.com/molovo/zvm
The ZSH version manager
https://github.com/molovo/zvm
version-manager zsh zsh-plugins
Last synced: about 2 months ago
JSON representation
The ZSH version manager
- Host: GitHub
- URL: https://github.com/molovo/zvm
- Owner: molovo
- License: mit
- Created: 2017-02-17T17:40:35.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2019-08-13T13:38:06.000Z (over 6 years ago)
- Last Synced: 2025-10-27T22:23:44.024Z (6 months ago)
- Topics: version-manager, zsh, zsh-plugins
- Language: Shell
- Size: 40 KB
- Stars: 13
- Watchers: 2
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE-OF-CONDUCT.md
Awesome Lists containing this project
README
# zvm
[](https://gitter.im/molovo/zvm?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
The ZSH version manager
## Installation
> **WARNING**: Although the majority of zvm's functionality works as expected, it is in the early stages of development, and as such bugs are likely to be present. Please continue with caution, and [report any issues](https://github.com/molovo/zvm/issues) you may have.
### Requirements
* ZSH `4.3.12` or above
* git `1.9.1` or above
* GCC and Make (Installed by default on OSX. For Ubuntu, run `sudo apt-get install build-essential autoconf ncurses-dev yodl`)
### Installing with [zulu](https://zulu.sh)
Zulu will automatically install dependencies and the shell integration for you.
```sh
zulu install zvm
```
### Manual Installation
First, Install [color](https://github.com/molovo/color) and [revolver](https://github.com/molovo/revolver)
```sh
git clone https://github.com/molovo/zvm zvm
ln -s "$PWD/zvm/zvm" /usr/local/bin
echo "source $PWD/zvm/zvm-shell-integration.zsh" >> ~/.zshrc
```
By default, zvm stores the ZSH source and compiled binaries in `~/.zvm`. If you'd like to store it somewhere else, set `$ZVM_DIR` to an absolute path in `~/.zshrc` before you run zvm for the first time.
## Usage
The first time you run `zvm list`, `zvm use` or `zvm install`, zvm will check for and download the ZSH source, and set up its internal directory structure.
### Listing available versions
```sh
# List all stable versions
zvm list
# List only installed versions
zvm list --installed
# Include pre-release versions in results
zvm list --prerelease
```
### Switching versions
```sh
# Use the default version
zvm use
# Use the specified version. It will be compiled and installed if
# it hasn't been already
zvm use 5.3.1
# Show the default
zvm default
# Show the current version
zvm current
# Set the default to a new version. It will be compiled and installed if
# it hasn't been already
zvm default 4.3.12
# Install a new version without selecting it
zvm install 5.0.2
```
### Using different versions on a per-project basis
You can set the ZSH version for a specific project by running `zvm dir ` within the project's directory, which will create a `.zvmrc` file in the current directory. If you run `zvm use` without specifying a version in a directory with a `.zvmrc` file, it will automatically choose the version specified in `.zvmrc`.
#### Using per-project versions automatically.
Setting `ZVM_AUTO_USE=1` adds a hook which automatically changes the version when you `cd` into a directory with a `.zvmrc` file.
## License
Copyright (c) 2016 James Dinsdale (molovo.co)
zvm is licensed under The MIT License (MIT)
## Team
* [James Dinsdale](http://molovo.co)