#ruby #version-manager #cross-platform #modern #little #bit #macos

app frum

使用 Rust 编写的闪电般快速且简单的 Ruby 版本管理器

6 个版本

0.1.2 2021 年 11 月 28 日
0.1.1 2021 年 7 月 30 日
0.1.0 2021 年 5 月 20 日
0.1.0-β.02021 年 4 月 28 日

#1020 in 开发工具

Download history 85/week @ 2024-03-11 38/week @ 2024-03-18 32/week @ 2024-03-25 46/week @ 2024-04-01 39/week @ 2024-04-08 37/week @ 2024-04-15 13/week @ 2024-04-22 2/week @ 2024-05-06 13/week @ 2024-05-13 26/week @ 2024-05-20 3/week @ 2024-05-27 22/week @ 2024-06-03 13/week @ 2024-06-10 13/week @ 2024-06-17 17/week @ 2024-06-24

65 每月下载量

MIT 许可证

670KB
2.5K SLoC

Rust 2K SLoC // 0.0% comments BASH 191 SLoC Zsh 173 SLoC Batch 6 SLoC

frum

一个小巧快速的现代 Ruby 版本管理器,用 Rust 编写

github workflow status crates brew aur

usage

特性

  • 纯 Rust 实现,不使用 ruby-build
  • 跨平台支持(macOS,Linux)
  • .ruby-version 文件兼容
  • 自动补全

目标

  • 闪电般的 Ruby 安装 - 速度优先构建
  • 跨平台 - 在 macOS、Linux 和(Windows)上运行

基准测试

eval "$(frum init)" 运行速度比 eval "$(rbenv init -)" 快 6 倍。

命令 平均 [ms] 最小 [ms] 最大 [ms] 相对
eval"$(rbenv init -)" 49.5 ± 2.1 46.2 57.2 6.14 ± 0.50
eval"$(frum init)" 8.1 ± 0.7 7.0 11.8 1.00 ± 0.11
eval "$(frum init)"(预发布版) 8.1 ± 0.6 7.2 11.7 1.00
命令 平均 [ms] 最小 [ms] 最大 [ms] 相对
rbenv 239628.1 ± 2030.2 237681.6 245162.6 1.04 ± 0.01
frum 232944.6 ± 1224.0 230565.4 234863.5 1.01 ± 0.01
frum(预发布版) 230366.5 ± 882.7 228454.2 232340.5 1.00

更多信息,请参阅 #16

安装

Homebrew(Linux/macOS)

如果您使用 Homebrew 或 Linuxbrew,请安装 frum 公式。有关更多信息,请参阅 Daniel Kehoe 编写的 使用 Frum 安装 Ruby

$ brew install frum

Arch Linux

如果您正在使用 Arch Linux,请使用您喜欢的 AUR 辅助工具安装 frum-binfrum 软件包。

$ yay -S frum-bin

Cargo (Linux/macOS)

如果您已经设置好了 Rust 环境,可以使用 cargo install 命令

$ cargo install frum

使用发布版二进制文件(Linux/macOS)

  • 下载您系统的最新发布版二进制文件 最新发布版
  • 设置 PATH 环境变量
  • 配置您的 shell 配置文件

使用方法

Shell 设置

在使用 frum 之前,您需要运行一些 shell 命令。您只需评估 frum init 的输出。查看以下指南以了解您所使用的 shell

Bash

将以下内容添加到您的 .bashrc

eval "$(frum init)"

Zsh

将以下内容添加到您的 .zshrc

eval "$(frum init)"

Fish shell

创建 ~/.config/fish/conf.d/frum.fish 并添加以下行

frum init | source

选项

  • --log-level:frum 命令的日志级别 [默认:info] [可能值:quiet, info, error]。
  • --ruby-build-mirror:[默认:https://cache.ruby-lang.org/pub/ruby]。
  • --frum-dir:frum 安装的根目录 [默认:$HOME/.frum]。您可以设置 frum-dir$FRUM_DIR 环境变量。如果您想全局使用自定义的 frum-dir,则建议您使用环境变量。

子命令

  • init:设置初始化 frum 的环境变量。
  • install:安装指定的 Ruby 版本。
    • -l--list:列出可安装的 Ruby 版本。
  • uninstall:卸载特定的 Ruby 版本。
  • versions:列出已安装的 Ruby 版本。
  • global:设置全局 Ruby 版本。
  • local:设置当前 Ruby 版本。

Ruby 配置选项

可以传递给 frum install 命令的 Ruby 配置选项。

$ frum install --with-openssl-dir=<ssl_dir> # Specify the OpenSSL directory
$ frum install --with-jemalloc # Use jemalloc as allocator

您还可以指定许多其他选项,这些选项将在运行 ./configure -h 时列出。

贡献

欢迎贡献、问题和拉取请求!

参考

依赖项

~18–33MB
~598K SLoC