448f750891
Co-authored-by: Kazuhiro NISHIYAMA <znz@users.noreply.github.com> |
||
---|---|---|
.github | ||
bin | ||
completions | ||
docs | ||
lib | ||
scripts | ||
test | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.tool-versions | ||
asdf.elv | ||
asdf.fish | ||
asdf.sh | ||
ballad-of-asdf.md | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
defaults | ||
help.txt | ||
LICENSE | ||
README.md | ||
SECURITY.md | ||
version.txt |
asdf
Manage multiple runtime versions with a single CLI tool, extendable via plugins - docs at asdf-vm.com
asdf is a CLI tool that can manage multiple language runtime versions on a per-project basis. It is like gvm
, nvm
, rbenv
& pyenv
(and more) all in one! Simply install your language's plugin!
Why use asdf?
- single CLI for multiple languages
- consistent commands to manage all your languages
- single global config keeping defaults in one place
- single
.tool-versions
config file per project - support for existing config files
.node-version
,.nvmrc
,.ruby-version
for easy migration - automatically switches runtime versions as you traverse your directories
- simple plugin system to add support for your language of choice
- shell completion available for common shells (Bash, Zsh, Fish, Elvish)
Documentation
Please head over to the documentation site for more information!
- Getting Started
- All Commands
- All Plugins
- Create a Plugin with our asdf-plugin-template
- asdf GitHub Actions
Contributing
See CONTRIBUTING.md in the repo or the Contributing section on the docs site.
Community & Questions
- FAQ
- GitHub Issues: report a bug or raise a feature request to the
asdf
core team - StackOverflow Tag: see existing Q&A for
asdf
. Some of the core team watch this tag in addition to our helpful community
Ballad of asdf
Once upon a time there was a programming language
There were many versions of it
So people wrote a version manager for it
To switch between versions for projects
Different, old, new.
Then there came more programming languages
So there came more version managers
And many commands for them
I installed a lot of them
I learnt a lot of commands
Then I said, just one more version manager
Which I will write instead
So, there came another version manager
asdf version manager - https://github.com/asdf-vm/asdf
A version manager so extendable
for which anyone can create a plugin
To support their favourite language
No more installing more version managers
Or learning more commands