Rbenv Ruby 版本管理器完整教程

Rbenv 是 Ruby 社区最流行的版本管理工具,由 Sam Stephenson 创建。它通过修改 PATH 环境变量中的 shim 来实现版本切换,设计简洁、不修改系统 Ruby。本文将详细介绍如何在搬瓦工 VPS 上使用 Rbenv 管理 Ruby 环境。购买搬瓦工使用优惠码 NODESEEK2026 享 6.77% 折扣。

一、安装前准备

# Ubuntu/Debian 安装编译依赖
apt update
apt install -y git curl autoconf bison build-essential libssl-dev libyaml-dev \
  libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev

# CentOS/RHEL
yum install -y git gcc bzip2 openssl-devel libyaml-devel libffi-devel \
  readline-devel zlib-devel gdbm-devel ncurses-devel

二、安装 Rbenv

# 克隆 rbenv 仓库
git clone https://github.com/rbenv/rbenv.git ~/.rbenv

# 编译动态 bash 扩展(加速 rbenv,可选)
cd ~/.rbenv && src/configure && make -C src

# 添加到 PATH
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init - bash)"' >> ~/.bashrc
source ~/.bashrc

# 安装 ruby-build 插件(用于安装 Ruby)
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

# 验证安装
rbenv --version
ruby-build --version

三、安装 Ruby 版本

# 查看可安装的 Ruby 版本
rbenv install -l

# 安装指定版本
rbenv install 3.3.0
rbenv install 3.2.2

# 查看已安装的版本
rbenv versions

# 设置全局默认版本
rbenv global 3.3.0

# 验证
ruby --version
gem --version

四、版本管理

# 全局版本(所有目录的默认版本)
rbenv global 3.3.0

# 项目级版本(在项目目录下)
cd /opt/my-rails-app
rbenv local 3.2.2
# 会创建 .ruby-version 文件

# 当前 Shell 临时版本
rbenv shell 3.1.4

# 查看当前使用的版本及来源
rbenv version
# 3.3.0 (set by /home/user/.rbenv/version)

# 刷新 shims(安装新 Gem 后需要)
rbenv rehash

五、Gem 和 Bundler 管理

# 安装 Bundler
gem install bundler

# 刷新 shims
rbenv rehash

# 在项目中使用 Bundler
cd /opt/my-rails-app
bundle init
bundle add rails
bundle install

# 查看 Gem 安装路径
gem env home
# /home/user/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0

# 配置 Gem 不安装文档(加速安装)
echo 'gem: --no-document' >> ~/.gemrc

六、Rails 部署实战

# 安装 Ruby 和 Rails
rbenv install 3.3.0
rbenv global 3.3.0
gem install rails bundler

# 创建 Rails 应用
rails new myapp --database=postgresql
cd myapp

# 设置项目 Ruby 版本
rbenv local 3.3.0

# 安装依赖
bundle install

# 使用 Puma 运行
bundle exec rails server -b 0.0.0.0 -p 3000

Systemd 服务配置

cat > /etc/systemd/system/rails-app.service << 'EOF'
[Unit]
Description=Rails Application
After=network.target

[Service]
User=deploy
WorkingDirectory=/opt/my-rails-app
Environment="PATH=/home/deploy/.rbenv/versions/3.3.0/bin:/home/deploy/.rbenv/bin:/usr/bin"
Environment="RAILS_ENV=production"
ExecStart=/home/deploy/.rbenv/versions/3.3.0/bin/bundle exec puma -C config/puma.rb
Restart=always

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable rails-app
systemctl start rails-app

七、Rbenv 插件推荐

# ruby-build(必装,用于安装 Ruby)
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

# rbenv-vars(管理环境变量)
git clone https://github.com/rbenv/rbenv-vars.git "$(rbenv root)"/plugins/rbenv-vars

# rbenv-default-gems(安装新版本时自动安装指定 Gem)
git clone https://github.com/rbenv/rbenv-default-gems.git "$(rbenv root)"/plugins/rbenv-default-gems
echo "bundler" >> "$(rbenv root)"/default-gems

# 更新 ruby-build(获取最新 Ruby 版本列表)
cd "$(rbenv root)"/plugins/ruby-build && git pull

八、常用命令速查

rbenv install -l          # 查看可安装版本
rbenv install 3.3.0       # 安装版本
rbenv uninstall 3.1.4     # 卸载版本
rbenv versions            # 查看已安装版本
rbenv version             # 查看当前版本
rbenv global 3.3.0        # 设置全局版本
rbenv local 3.2.2         # 设置项目版本
rbenv shell 3.1.4         # 设置临时版本
rbenv rehash              # 刷新 shims
rbenv which ruby          # 查看可执行文件路径
rbenv root                # 查看 rbenv 根目录

总结

Rbenv 是在搬瓦工 VPS 上管理 Ruby 多版本的最佳实践。它设计简洁、与系统 Ruby 互不干扰,非常适合 Rails 应用部署。如果你同时需要管理多种编程语言的版本,推荐使用通用版本管理器 asdf。选购搬瓦工请访问 全部方案,使用优惠码 NODESEEK2026 享 6.77% 折扣,通过 bwh81.net 进入官网。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。