请稍侯

rvm 及 ruby 环境安装配置

14 May 2025

rvm 及 ruby 环境安装配置

安装rvm: https://rvm.io/rvm/install

当前默认安装的RVM版本最高只支持Ruby 3.0版本,如果想要支持更高的Ruby版本,需要执行命令切换分支版本:rvm get master 切换成功后执行命令:rvm list known

安装Ruby 3.2.1版本:rvm install ruby-3.2.1 不出意外的话,执行后应该能安装成功,但是,出意外了,报错如下:

Error running ' CFLAGS=-O3 ...',
please read /Users/xxx/.rvm/log/1679388668_ruby-3.2.1/configure.log
There has been an error while running configure. Halting the installation.

安装命令换成这个:

rvm install 3.2.1 --with-openssl-dir=`brew --prefix openssl`

安装成功后执行命令查询:rvm list 设置默认Ruby版本命令:rvm use 3.2.1 --default
卸载一个已安装版本:rvm use 3.2.1 --default

设置目录 ruby 版本
使用 RVM (Ruby Version Manager) 设置当前目录的 Ruby 版本,并在进入该目录时自动切换,在要设置 Ruby 版本的目录中,创建一个名为 .ruby-version 的文件,并在其中写入要使用的 Ruby 版本

echo "$(rvm current)" > .ruby-version

RVM - 安装最新Ruby版本
rvm 多版本 Ruby 环境的管理


chruby

chruby 是一个轻量级的 Ruby 版本管理工具,允许用户在系统中轻松切换和管理多个 Ruby 版本。与其他 Ruby 版本管理工具(如 RVM 和 rbenv)相比,chruby 的设计更加简洁,不会干扰用户的 shell 环境。

主要特点

  • 轻量级: chruby 只关注 Ruby 的版本管理,而不涉及其他功能。
  • 简单易用: 通过简单的命令切换 Ruby 版本。
  • 兼容性: 不会影响系统的其他工具和设置。

安装

要安装 chruby,可以使用以下步骤:

  1. 安装依赖:
    • 确保你的系统上已经安装了 gitmake
  2. 从 GitHub 安装:
    git clone https://github.com/postmodern/chruby.git
    cd chruby
    sudo make install
    
  3. 加载 chruby:
    • 在你的 shell 配置文件(如 .bashrc.zshrc)中添加以下行:
      source /usr/local/opt/chruby/share/chruby/chruby.sh
      source /usr/local/opt/chruby/share/chruby/auto.sh
      
  4. 重启 shell:
    • 重新启动终端或运行 source ~/.bashrcsource ~/.zshrc 来应用更改。

使用方法

  1. 安装 Ruby 版本:
    • 使用 ruby-install 安装 Ruby(chruby 自身不提供安装 Ruby 的功能):
      git clone https://github.com/postmodern/ruby-install.git
      cd ruby-install
      sudo make install
      
    • 然后可以安装 Ruby:
      ruby-install ruby 3.1.0
      
  2. 查看已安装的 Ruby 版本:
    chruby
    
  3. 切换 Ruby 版本:
    • 使用 chruby 切换到特定的 Ruby 版本:
      chruby 3.1.0
      
  4. 使用默认 Ruby 版本:
    • 可以在 ~/.ruby-version 文件中指定默认 Ruby 版本,chruby 会在进入该目录时自动切换到指定版本。
  5. 查看当前 Ruby 版本:
    ruby -v
    

总结

chruby 是一个简单且有效的 Ruby 版本管理工具,适合希望轻量管理多个 Ruby 版本的用户。通过简单的命令和配置,它可以帮助开发者轻松切换和使用不同的 Ruby 环境。