`rbenv` 是一个轻量级的 Ruby 版本管理工具,用于在同一台机器上安装和切换多个 Ruby 版本,方便不同项目使用不同的 Ruby 环境,避免版本冲突。它比 RVM 更简洁,主要通过环境变量和垫片(shims)机制工作,不依赖 shell 重写,对系统的侵入性较低。
### **主要功能**
1. **安装多个 Ruby 版本**:支持从源码编译或通过 `ruby-build` 插件快速安装特定版本的 Ruby。
2. **切换 Ruby 版本**:可以为全局、当前目录(项目)或当前 shell 会话设置不同的 Ruby 版本。
3. **隔离项目依赖**:配合 `Gemfile` 和 `bundler`,确保每个项目使用独立的 gem 环境。
### **常用命令**
1. **安装 Ruby 版本**
需先安装 `ruby-build` 插件(`rbenv install` 命令依赖它):
“`bash
# 安装指定版本(如 3.2.2)
rbenv install 3.2.2
“`
2. **查看可用/已安装版本**
“`bash
# 列出所有可安装的 Ruby 版本
rbenv install –list
# 列出已安装的 Ruby 版本
rbenv versions
“`
3. **设置 Ruby 版本**
“`bash
# 设置全局默认版本(影响整个系统)
rbenv global 3.2.2
# 设置当前目录(项目)的版本(会生成 .ruby-version 文件)
rbenv local 2.7.8
# 设置当前 shell 会话的临时版本
rbenv shell 3.1.4
“`
4. **刷新垫片(shims)**
安装新 gem 或 Ruby 版本后,需更新垫片让系统识别:
“`bash
rbenv rehash
“`
5. **查看当前使用的 Ruby 版本**
“`bash
rbenv version
“`
### **安装方法(以 macOS 为例)**
1. 使用 Homebrew 安装:
“`bash
brew install rbenv ruby-build
“`
2. 初始化(根据 shell 类型,如 bash/zsh):
“`bash
# 对于 zsh(默认写入 ~/.zshrc)
echo ‘eval “$(rbenv init – zsh)”‘ >> ~/.zshrc
source ~/.zshrc
# 对于 bash(写入 ~/.bash_profile 或 ~/.bashrc)
echo ‘eval “$(rbenv init – bash)”‘ >> ~/.bash_profile
source ~/.bash_profile
“`
### **注意事项**
– 安装 Ruby 前需确保系统有编译依赖(如 `gcc`、`openssl` 等),macOS 可通过 `xcode-select –install` 安装工具链。
– 项目中使用 `rbenv local` 会生成 `.ruby-version` 文件,建议提交到 Git,方便团队统一版本。
– 与 `bundler` 配合时,使用 `bundle exec` 确保命令在当前项目的 gem 环境中运行。
通过 `rbenv`,可以灵活管理 Ruby 版本,适合多项目开发场景。