Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more
Go to file
2015-05-17 16:17:45 +05:30
bin if [ condition ]; then 2015-05-17 16:17:45 +05:30
docs Smaller font 2015-03-03 21:32:48 +05:30
lib if [ condition ]; then 2015-05-17 16:17:45 +05:30
.gitignore Add reshim command 2014-12-14 13:43:43 +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 Change help 2015-05-08 11:31:20 +05:30
README.md Fix command in readme 2015-05-17 14:20:44 +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 sources

Sources are how asdf understands how to handle packages.

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

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

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

Manage packages

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 .asdf-versions file

Add a .asdf-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.