前言

本篇文章一起收录在大众号《泡芙玩前端》,主打前端、Rust,同步更新中

这篇文章首要介绍一个运用 Rust 进行编写的一体化版别办理东西 Rtx,比方运用它来办理 Node.js 版别,它很简单易用,运用了它,就能够抛弃掉 nvm 了。

它具有下面这些特性:

  • 它类似于 asdf 这个版别办理东西,完全兼容 asdf 的插件体系。
  • 速度十分快——由于它运用 Rust 编写,而且优化了功能,比 asdf 要快 20 倍以上。
  • 含糊匹配和运用别号——装置时只需求指定 “v20” 或 “lts” 版别就够了。Rtx 将计算出正确的版别,而不需求指定准确的版别。
  • 兼容十分多的言语,只需求运用这一个东西去代替 gvm、 nvm、 rbenv 和 pyenv 这些东西就够了。

那么 asdf 是啥?

asdf 是一个指令行东西,能够在每个项目上办理多个言语运行时的版别。就像 gvm、 nvm、 rbenv 和 pyenv 等这些版别办理东西的一体化调集,你只需求装置对应言语的插件即可,也就是说有了 它,就不需求装置其他一堆东西了。

那么 Rtx 也如 asdf 一样,能够直接作为替代品来运用,而且更强大。

虽然可是,它现在不支撑 Windows 体系,可是官方已经在考虑支撑中了。Linux 和 MacOS 的用户能够运用起来了,接下来咱们就来说说怎么装置和运用它吧

装置

运用 curl 装置(引荐):

curl https://rtx.jdx.dev/install.sh | sh

运用 npm 装置:

npm install -g rtx-cli

运用 Rust cargo 来装置

cargo install cargo-binstall
cargo binstall rtx-cli

注册指令钩子

装置完结之后需求在 shell 中注册指令钩子

Bash:

echo 'eval "$(rtx activate bash)"' >> ~/.bashrc

Zsh:

echo 'eval "$(rtx activate zsh)"' >> "${ZDOTDIR-$HOME}/.zshrc"

装置完结之后,能够查看到版别号阐明装置成功了

rtx -v

装置 Node.js

装置 node 20 的长时间支撑版别并设置为大局默许

rtx use --global node@20

装置完结之后在控制台输入下面指令能打印出对应的版别即可

node -v

常用指令

rtx install node@20.0.0  装置指定版别号
rtx install node@20      含糊匹配装置
rtx use node@20          在当前项目中运用 node 20.x 版别
rtx use -g node@20       在大局运用 node 20.x 版别
rtx use node@latest      在当前项目运用最新版 node
rtx use -g node@system   运用体系的 node 作为大局版别

其它

上面仅仅提到了 node.js,除了 node.js 之外,比方 Java/Golang 等言语,只需求装置上它们对应的插件,然后就能够对其进行版别办理了。其它的还有一些装备化,定制化的才能就等需求运用到的时候再去探究好了。更多的才能咱们也能够去参考下官方。

总结

这篇文章首要讲了这个东西的根底运用,可是对于咱们日常来说其实也足够了,假如你现在一起在运用 Go/Node.js 或其它的多个言语,那么这个东西其实还是很不错的,能够让你省掉许多装置对应言语版别办理东西的流程。

本篇文章一起收录在大众号《泡芙玩前端》,主打前端、Rust,同步更新中