Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anyenv/anyenv
All in one for **env
https://github.com/anyenv/anyenv
shell
Last synced: 6 days ago
JSON representation
All in one for **env
- Host: GitHub
- URL: https://github.com/anyenv/anyenv
- Owner: anyenv
- License: mit
- Created: 2013-06-11T07:16:13.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2023-12-16T04:48:42.000Z (12 months ago)
- Last Synced: 2024-11-30T10:08:08.887Z (13 days ago)
- Topics: shell
- Language: Shell
- Homepage: https://anyenv.github.io
- Size: 89.8 KB
- Stars: 1,838
- Watchers: 49
- Forks: 93
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-env - anyenv
- awesome-version-managers - anyenv - A version manager wrapper allowing maintenance of multiple version managers. (Version Managers / Generic)
README
![anyenv logo](https://anyenv.github.io/assets/img/logo.png)
# anyenv - All in one for \*\*env
This is a simple wrapper for [rbenv](https://github.com/rbenv/rbenv) style environment managers. You don't have to git clone or modify your shell profile for each \*\*env anymore if you install anyenv.
## Feedback required!
**This repository is under development.** All feedback are welcome! See https://github.com/anyenv/anyenv/issues
## Getting started
### 1. Install and configure `anyenv`
#### Homebrew (for macOS user)
1. Install anyenv```
$ brew install anyenv
```2. Set up anyenv in your shell.
```
$ anyenv init
```
Follow the printed instructions.3. Close your Terminal window and open a new one so your changes take effect.
You'll see a warning if you don't have manifest directory.
```
ANYENV_DEFINITION_ROOT(/Users/riywo/.config/anyenv/anyenv-install) doesn't exist. You can initialize it by:
> anyenv install --init
```#### Manual git checkout
1. Clone anyenv into `~/.anyenv`.```
$ git clone https://github.com/anyenv/anyenv ~/.anyenv
```
2. Add `~/.anyenv/bin` to your `$PATH` for access to the `anyenv` command-line utility.
* For **bash**:
```
$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bash_profile
```
* For **Ubuntu Desktop**:
```
$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bashrc
```
* For **Zsh**:
```
$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.zshrc
```
* For **Fish shell**:
```
$ set -Ux fish_user_paths $HOME/.anyenv/bin $fish_user_paths
```
3. Set up anyenv in your shell.```
$ ~/.anyenv/bin/anyenv init
```
Follow the printed instructions.4. Close your Terminal window and open a new one so your changes take effect.
You'll see a warning if you don't have manifest directory.
```
ANYENV_DEFINITION_ROOT(/Users/riywo/.config/anyenv/anyenv-install) doesn't exist. You can initialize it by:
> anyenv install --init
```### 2. Initialize install manifest directory
If you want, you can initialize install manifest directory with [anyenv/anyenv-install](https://github.com/anyenv/anyenv-install).
![anyenv install --init](https://anyenv.github.io/assets/img/demo/install-init.gif)
If you have own manifest repository, you can specify it:
```
$ anyenv install --init https://github.com/foo/anyenv-install.git
Manifest directory doesn't exist: /Users/riywo/.config/anyenv/anyenv-install
Do you want to checkout https://github.com/foo/anyenv-install.git? [y/N]:
```## Usage
Install any **env in your manifest directory:
```
$ anyenv install rbenv
$ anyenv install pyenv
$ anyenv install nodenv
$ exec $SHELL -l$ rbenv install ...
$ pyenv install ...
$ nodenv install ...
```Update your manifest directory:
![anyenv install --update](https://anyenv.github.io/assets/img/demo/install-update.gif)
## Configuration
### `ANYENV_DEFINITION_ROOT`
This is the directory containing install manifests. Manifests should be directly under this directory:```
$ tree ~/.config/anyenv/anyenv-install
/Users/riywo/.config/anyenv/anyenv-install
├── Renv
...
├── scalaenv
└── swiftenv
```If it is not defined by user, it uses fallbacks:
- `${XDG_CONFIG_HOME}/anyenv/anyenv-install` if `${XDG_CONFIG_HOME}` is defined
- `${HOME}/.config/anyenv/anyenv-install` by default## Plugins
- [znz/anyenv-update](https://github.com/znz/anyenv-update)
- [znz/anyenv-git](https://github.com/znz/anyenv-git)