What is it?
- Like asdf (or nvm or pyenv but for any language) it manages dev tools like node, python, cmake, terraform, and hundreds more.
- Like direnv it manages environment variables for different project directories.
- Like make it manages tasks used to build and test projects.
30 Second Demo
The following shows using rtx to install different versions
of node.
Note that calling which node
gives us a real path to node, not a shim.
Quickstart
Install rtx on macOS (other methods here):
$ curl https://rtx.jdx.dev/install.sh | sh
$ ~/.local/share/rtx/bin/rtx --version
rtx 2024.0.0
Hook rtx into your shell (pick the right one for your shell):
# note this assumes rtx is located at ~/.local/share/rtx/bin/rtx
# which is what install.sh does by default
echo 'eval "$(~/.local/share/rtx/bin/rtx activate bash)"' >> ~/.bashrc
echo 'eval "$(~/.local/share/rtx/bin/rtx activate zsh)"' >> ~/.zshrc
echo '~/.local/share/rtx/bin/rtx activate fish | source' >> ~/.config/fish/config.fish
Install a runtime and set it as the global default:
$ rtx use --global node@20
$ node -v
v20.0.0
Full Documentation
See rtx.jdx.dev.