asdf-vm/asdf

Goasdf-vm.com
macOSLinux

Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more

version-managerrubymultiple-languagesclishellasdf-vmbashelvishfishnodenushellpowershell
Star 增长趋势
Star
25.6k
Forks
941
周增长
+9
Issues
127
10k20k
2014年11月2018年10月2022年9月2026年9月
制品库Go Modules
README

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?

  • 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!

Contributing

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

Community & Questions

  • FAQ
  • GitHub Issues GitHub Issues: report a bug or raise a feature request to the asdf core team
  • StackOverflow Tag 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


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
相关仓库
nvm-sh/nvm

Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions. $nvm: 3ArcxqLtXMmBnWbbtfwQgVL3MNnDsggzgGDtXMnjpump

ShellcliMIT Licensenvmnodejs
95k10.4k
nvm-windows/nvm

The Node.js version manager for Windows.

Inno Setupclinodeversion-manager
47.6k3.9k
cpm-cmake/CPM.cmake

📦 CMake's missing package manager. A small CMake script for setup-free, cross-platform, reproducible dependency management.

CMakeMIT Licensedependency-managerpackage-manager
4.1k226
version-fox/vfox

A cross-platform and extendable version manager with support for Java, Node.js, Golang, Python, Flutter, .NET & more

GoGo ModulescliApache License 2.0cross-platformplugin-manager
vfox.dev
4k157
rbenv/ruby-build

A tool to download, compile, and install Ruby on Unix-like systems.

ShellcliMIT Licensehacktoberfestruby
rbenv.org/man/ruby-build.1
4k807
voidint/g

Golang Version Manager

GoGo ModulescliMIT Licensegolangversion-manager
pkg.go.dev/github.com/voidint/g
2.9k266
go-nv/goenv

:blue_car: Like pyenv and rbenv, but for Go.

ShellcliMIT Licensegoenvshims-goenv
github.com/go-nv/goenv
2.5k261
nodenv/nodenv

Manage your app's Node.js environment

ShellcliMIT Licensenodenvnode
2.4k164
lukechilds/zsh-nvm

Zsh plugin for installing, updating and loading nvm

ShellMIT Licensezshzsh-plugin
2.4k122
MordechaiHadad/bob

A version manager for neovim

Rustcrates.iocliMIT Licenseneovimneovim-version-manager
2.1k63
aquaproj/aqua

Declarative CLI Version manager written in Go. Support Lazy Install, Registry, and continuous update with Renovate. CLI version is switched seamlessly

GoGo Modulescliclioss
aquaproj.github.io
1.8k75
nodists/nodist

Natural node.js and npm version manager for windows.

JavaScriptnpmcliMIT Licensejavascriptnodejs
1.7k229