Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more
Go to file
Akash Manohar J 84097388e6 Fir dir names
2015-05-18 00:02:57 +05:30
bin Simplify vocabulary 2015-05-17 23:50:51 +05:30
docs Move doc 2015-05-17 23:54:32 +05:30
lib Fir dir names 2015-05-18 00:02:57 +05:30
.gitignore Simplify vocabulary 2015-05-17 23:50:51 +05:30
asdf.sh Fix sourced usage 2015-05-14 12:21:01 +05:30
ballad-of-asdf.md Update readme 2014-12-01 09:02:14 +05:30
help.txt Simplify vocabulary 2015-05-17 23:50:51 +05:30
README.md Simplify vocabulary 2015-05-17 23:50:51 +05:30

asdf

extendable version manager

I've built plugins to support the following languages:

There is a super-simple API for supporting more languages.


SETUP

Copy-paste the following into command line:

git clone https://github.com/HashNuke/asdf.git ~/.asdf

Depending on your OS, run the following

# For Ubuntu or other linux distros
echo 'source $HOME/.asdf/asdf.sh' >> ~/.bashrc

# OR for Max OSX
echo 'source $HOME/.asdf/asdf.sh' >> ~/.bash_profile

If you use zsh or any other shell, replace .bashrc with the config file for the respective shell.

That's all ~! You are ready to use asdf


USAGE

Manage plugins

Plugins are how asdf understands how to handle different packages.

Add a plugin
asdf plugin-add <name> <git-url>
# asdf plugin-add erlang https://github.com/HashNuke/asdf-erlang.git
Remove a plugin
asdf plugin-remove <name>
# asdf plugin-remove erlang
Update plugins
asdf plugin-update --all

If you want to update a specific package, just say so.

asdf plugin-update <name>
# asdf plugin-update erlang

Manage versions

asdf install <name> <version>
# asdf install erlang 17.3

asdf uninstall <name> <version>
# asdf uninstall erlang 17.3
Lists installed versions
asdf list <name>
# asdf list erlang
List all available versions
asdf list-all <name>
# asdf list-all erlang
Use a specific version of a package
asdf use <name> <version>
# asdf use erlang 17.3

It writes the version to the .versions file in the current working directory.

The .tool-versions file

Add a .tool-versions file to your project dir and versions of those packages will be used.

elixir 1.0.2
erlang 17.3

Credits

Me (@HashNuke), High-fever, cold, cough.

Copyright 2014 to the end of time


Read the ballad.