Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more
Go to file
Akash Manohar J 687f19262d Update todo
2015-05-11 22:23:39 +05:30
bin Fix asdf bin 2015-05-11 22:20:29 +05:30
commands Uniformity: everywhere 2015-05-11 22:18:57 +05:30
docs Smaller font 2015-03-03 21:32:48 +05:30
lib Cleanup utils 2015-05-11 22:14:18 +05:30
.gitignore Add reshim command 2014-12-14 13:43:43 +05:30
asdf.sh init script 2015-05-10 22:18:03 +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 .versions is used by meteor 2015-05-10 22:25:39 +05:30
TODO Update todo 2015-05-11 22:23:39 +05:30

asdf

extendable version manager

Feel free to add support for the language you want. There is a simple API for it. For now, I've added support for the following languages:

-- @HashNuke

Support via Gratipay


Install

Copy-paste the following into command line:

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

# 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

Manage sources

Sources are how asdf understands how to handle packages.

Add a package

# 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

# To update all sources
asdf update-source --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 .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.