1、是什么?
RVM和rbenv都是用于管理Ruby版本的工具
RVM
RVM的英文全称是“Ruby Version Manager”,即“Ruby版本管理器”。它由 Wayne E. Seguin于2009年创建,功能十分强大,允许用户轻松地在不同的Ruby版本和gem集之间进行切换。除了管理Ruby版本外,RVM还能管理不同版本Ruby对应的gemset(gem集合),让开发者可以针对不同项目使用不同的gem环境,避免了不同项目之间的依赖冲突问题。
rbenv
rbenv没有特别官方明确的英文全称,通常被理解为“Ruby environment”(Ruby环境)的简称。它是另一种轻量级的Ruby版本管理工具,由Sam Stephenson开发。rbenv的设计理念更倾向于简单和纯粹,主要专注于版本切换功能,通过修改环境变量来改变Ruby版本,不包含类似RVM管理gemset的功能,但它可以与ruby-build插件配合使用,实现Ruby版本的安装。
2、怎么用?
安装RVM
在安装RVM之前,你需要确保系统已经安装了必要的依赖。可以使用以下命令安装RVM:
bash gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BD \curl -sSL https://get.rvm.io | bash -s stable
安装完成后,需要重新加载Shell配置文件使RVM生效:
bash source ~/.rvm/scripts/rvm
查看可用的Ruby版本
bash rvm list known
此命令会列出RVM可以安装的所有Ruby版本。
安装指定版本的Ruby
bash rvm install 3.2.2
上述命令将安装Ruby 3.2.2版本。
列出已安装的Ruby版本
bash rvm list
该命令会显示当前系统中已安装的所有Ruby版本。
切换Ruby版本
bash rvm use 3.2.2
使用此命令可以将当前使用的Ruby版本切换到3.2.2。如果希望每次打开新的终端时都默认使用该版本,可以添加--default参数:
bash rvm use 3.2.2 --default
删除指定版本的Ruby
bash rvm remove 3.2.2
该命令将删除已安装的Ruby 3.2.2版本。
rbenv相关命令
安装rbenv和ruby-build 可以通过源码或者包管理器来安装rbenv和ruby-build,以下是通过源码安装的示例:
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
查看可用的Ruby版本
bash rbenv install -l
此命令会列出可以通过ruby-build安装的所有Ruby版本。
安装指定版本的Ruby
bash rbenv install 3.2.2
上述命令将安装Ruby 3.2.2版本。
列出已安装的Ruby版本
bash rbenv versions
该命令会显示当前系统中已安装的所有Ruby版本。
切换Ruby版本
bash rbenv global 3.2.2
使用global参数可以设置全局的Ruby版本,即每次打开新的终端时都会使用该版本。如果只想在当前项目目录下使用特定版本,可以使用local参数:
bash rbenv local 3.2.2
这会在当前项目目录下创建一个
.ruby-version
文件,指定该目录下使用的Ruby版本。
删除指定版本的Ruby
bash rbenv uninstall 3.2.2
该命令将删除已安装的Ruby 3.2.2版本。