asdf README

The project's README from github.com/asdf-vm/asdf. As one markdown file: README.md.

asdf

Lint Tests

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?

Documentation

Please head over to the documentation site for more information!

Contributing

See CONTRIBUTING.md in the repo or the Contributing section on the docs site.

Community & Questions

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


This was the mail I wrote to a few friends to tell them about the project. Thanks to @roshanvid for suggesting that this go into the readme
@HashNuke

asdf (asdf-vm/asdf)

Searching Database…

25.6K ·GitHub
Что это такое?asdf — это CLI-инструмент, который управляет несколькими версиями языковых рантаймов отдельно для каждого проекта — как gvm, nvm, rbenv и pyenv в одном флаконе. Для каждого используемого языка вы добавляете свой плагин.
Это ещё один менеджер версий под один язык или он заменяет инструменты вроде nvm и rbenv?Он заменяет их: один CLI с одинаковыми командами для всех ваших языков, один глобальный конфиг с настройками по умолчанию и один файл .tool-versions на проект.
Как его запустить?Установите asdf, затем просто поставьте плагин для каждого нужного языка и зафиксируйте версии в файле .tool-versions своего проекта. Весь процесс описан в гайде Getting Started на asdf-vm.com.
Какие языки он умеет управлять?Ничего не встроено — каждый рантайм приходит из плагина, который вы устанавливаете. В описании проекта отдельно упомянуты Ruby, Node.js, Elixir и Erlang, а на сайте документации есть каталог всех плагинов.
А если плагина для моего языка ещё нет?Зависит от того, насколько развито сообщество плагинов: если вашего языка не хватает, вы пишете свой плагин на основе asdf-plugin-template из проекта.
Версии переключаются между проектами автоматически?Да — asdf переключает версии рантаймов сам, когда вы переходите по директориям, ориентируясь на файл .tool-versions в каждом проекте.
Я уже пользуюсь nvm и rbenv — можно ли перенести мои конфиги?Да. asdf понимает существующие конфиги — .node-version, .nvmrc и .ruby-version — чтобы переезд был лёгким, и вам не придётся сразу переписывать конфиг каждого проекта.
Для каких оболочек есть автодополнение команд?Автодополнение поддерживается в популярных оболочках: Bash, Zsh, Fish и Elvish.
Зачем автору был нужен ещё один менеджер версий?Согласно 'Ballad of asdf' из README: автор устал ставить отдельный менеджер версий под каждый новый язык и учить для каждого свой набор команд, поэтому вместо этого написал один расширяемый менеджер на плагинах.
What are similar projects?zoxide, oh-my-posh, inshellisense, gvm, nvm, pyenv, atuin, direnv
Creator
asdf-vm
Size
4.5 MB
Stars
25.6K
Age
11y
Commits · 90 Days