docs: Fix typos in introduction.md (#1025)

This commit is contained in:
Sebastian Nadorp 2021-08-17 22:02:17 +02:00 committed by GitHub
parent fe5b71d139
commit 6966b2b91e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,12 +1,12 @@
# Introduction
`asdf` is a tool version manager. All tool version definitions are contained within one file (`.tool-versions`) which you can check-in to your project's Git repository to share with your team, ensuring everyone is using the **exact** same versions of tools.
`asdf` is a tool version manager. All tool version definitions are contained within one file (`.tool-versions`) which you can check in to your project's Git repository to share with your team, ensuring everyone is using the **exact** same versions of tools.
The old way of working required multiple CLI version managers, each with their distinct API, configurations files and implementation (e.g. `$PATH` manipulation, shims, environment variables, etc...). `asdf` provides a single interface and configuration file to simplify development workflows, and can be extended to all tools and runtimes via a simple plugin interface.
## How It Works
Once `asdf` core is setup with your Shell configuration, plugins are installed to manage particular tools. When a tool is installed by a plugin, the executables that are installed have [shims](<https://en.wikipedia.org/wiki/Shim_(computing)>) created for each of them. When you try and run one of these executables, the shim is run instead, allowing `asdf` to identify which version of the tool is set in `.tool-versions` and execute that version.
Once `asdf` core is set up with your Shell configuration, plugins are installed to manage particular tools. When a tool is installed by a plugin, the executables that are installed have [shims](<https://en.wikipedia.org/wiki/Shim_(computing)>) created for each of them. When you try and run one of these executables, the shim is run instead, allowing `asdf` to identify which version of the tool is set in `.tool-versions` and execute that version.
## Related Projects
@ -14,7 +14,7 @@ Once `asdf` core is setup with your Shell configuration, plugins are installed t
Tools like [nvm](https://github.com/nvm-sh/nvm), [n](https://github.com/tj/n) and [rbenv](https://github.com/rbenv/rbenv) are all written as Shell scripts which create shims for the executables installed by these tools.
`asdf` is very similar and was built to compete in this space of tool/runtime version management. The differentiating factor for `asdf` is it's plugin system which removes the need for a manager per tool/runtime, different commands per manager and different `*-version` files in your repo.
`asdf` is very similar and was built to compete in this space of tool/runtime version management. The differentiating factor for `asdf` is its plugin system which removes the need for a manager per tool/runtime, different commands per manager and different `*-version` files in your repo.
<!-- ### pyenv
@ -42,9 +42,9 @@ See [Homebrew docs](https://brew.sh/) for more.
> Nix is a tool that takes a unique approach to package management and system configuration
NixOS aims to build truly reproducible environments by managing exact versions of packages up the entire dependency tree of each tool, something `asdf` does not do. NixOS does this with it's own programming language, many CLI tools and a pacakges collection of over 60,000 packages.
NixOS aims to build truly reproducible environments by managing exact versions of packages up the entire dependency tree of each tool, something `asdf` does not do. NixOS does this with its own programming language, many CLI tools and a package collection of over 60,000 packages.
Again `asdf` does not manage upstream dependencies and is not a package manager.
Again, `asdf` does not manage upstream dependencies and is not a package manager.
See [NixOS docs](https://nixos.org/guides/how-nix-works.html) for more.
@ -53,5 +53,5 @@ See [NixOS docs](https://nixos.org/guides/how-nix-works.html) for more.
`asdf` ensures teams are using the **exact** same versions of tools, with support for **many** tools via a plugin system, and the _simplicity and familiarity_ of being a single **Shell** script you include in your Shell config.
::: tip Note
`asdf` is not intended to be a system package manager. It is a tool version manager. Just because you can create a plugin for any tool and manage it's versions with `asdf`, does not mean that is the best course of action for that specific tool.
`asdf` is not intended to be a system package manager. It is a tool version manager. Just because you can create a plugin for any tool and manage its versions with `asdf`, does not mean that is the best course of action for that specific tool.
:::