Mac中M系列芯片采用rbenv管理ruby版本
目录
- 一、使用 `rbenv` 安装 Ruby
- 第 1 步:安装 Homebrew (macOS 的包管理器)
- 第 2 步:使用 Homebrew 安装 rbenv 和 ruby-build
- 第 3 步:配置你的 Shell 以加载 rbenv
- 第 4 步:安装一个稳定版本的 Ruby
- 第 5 步:设置并使用你安装的 Ruby 版本
- 二、为什么不推荐 RVM?
- 三、常用命令行
在新设备上(Mac mini m4)上安装Fvm管理ruby,发现有安装FVM会有各种问题,而且都是安装插件本身与设备兼容性问题。而重新了解下ruby管理器,发现M芯片系列基本都是推荐使用rbenv。安装使用一次特别顺利,所以特别推荐。
这个过程的关键是使用版本管理器,而不是依赖 macOS 系统自带的、老旧且不应被用户直接使用的 Ruby。
在所有版本管理器中,rbenv
是目前在 Apple Silicon Mac 上最推荐、最稳定、最无痛的选择**。它轻量、可靠,并且社区对 Apple Silicon 的支持非常好。
下面是在你的 M4 Mac mini 上安装和管理稳定版 Ruby 的终极分步指南。
一、使用 rbenv
安装 Ruby
第 1 步:安装 Homebrew (macOS 的包管理器)
如果你是新电脑,第一步就是安装 Homebrew。它会帮你轻松安装后续所有工具。
打开 “终端” (Terminal) 应用,复制并粘贴以下命令,然后按回车:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- 安装过程会要求你输入电脑的登录密码(输入时屏幕上不会显示字符),这是正常现象。
安装结束后,请仔细阅读终端的输出。它可能会提示你运行一两行命令,将 Homebrew 添加到你的 Shell 环境中。请务必复制并执行这些命令。通常是这样的:
(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> ~/.zshrc
eval "$(/opt/homebrew/bin/brew shellenv)"
第 2 步:使用 Homebrew 安装 rbenv 和 ruby-build
rbenv
用于切换 Ruby 版本,ruby-build
是它的一个插件,专门用来编译和安装不同版本的 Ruby。
brew install rbenv ruby-build
第 3 步:配置你的 Shell 以加载 rbenv
这一步是为了让 rbenv
在你每次打开终端时都能自动生效。
# 将 rbenv 的初始化命令添加到你的 Shell 配置文件 (~/.zshrc) 中
echo 'eval "$(rbenv init - zsh)"' >> ~/.zshrc# 为了让配置在当前终端窗口立即生效,运行:
source ~/.zshrc
注意:macOS 的默认 Shell 是 Zsh,所以我们操作的是_ _~/.zshrc_
_文件。
验证一下:完全关闭终端,然后重新打开一个新窗口。输入以下命令:
type rbenv | head -n 1
如果看到输出 rbenv is a shell function
,恭喜你,rbenv
已经准备就绪!
第 4 步:安装一个稳定版本的 Ruby
现在可以安装 Ruby 了。对于新项目,强烈推荐使用最新的稳定版本,比如 Ruby 3.3.x。
- List item
查看所有可供安装的 Ruby 版本**(可选):
rbenv install -l
- 安装最新的稳定版(以 3.3.1 为例):
rbenv install 3.3.1
这个过程会自动下载源码、编译并安装。在 Apple Silicon 上,ruby-build
已经处理好了绝大多数兼容性问题,你只需要耐心等待它完成即可。
第 5 步:设置并使用你安装的 Ruby 版本
安装完成后,你需要告诉 rbenv
你想用哪个版本。
- 设置全局默认版本: 这会让你在任何地方打开终端时,都默认使用这个 Ruby 版本。
rbenv global 3.3.1
- 刷新 rbenv 的 “shims”
rbenv
通过 “shims”(垫片)来拦截ruby
命令。设置新版本后,最好刷新一下。
rbenv rehash
- 验证你的 Ruby 环境:
ruby -v
# 预期输出: ruby 3.3.1...which ruby
# 预期输出: /Users/你的用户名/.rbenv/shims/ruby
当你看到 which ruby
的路径指向 .rbenv
目录时,就意味着你已经成功地在使用由 rbenv
管理的 Ruby 了!
二、为什么不推荐 RVM?
虽然 RVM 也是一个非常强大的工具,但它比 rbenv
更“重”。RVM 会重写 cd
等系统命令,对 Shell 的侵入性更强,有时可能会导致一些难以预料的环境问题。rbenv
的设计哲学更简单、更干净,通过 PATH
环境变量和 shims 工作,不易与其他工具冲突,因此在现代 macOS 上更受欢迎。
三、常用命令行
1. 查看可安装版本
rbenv install -l
rbenv install --list2. 安装指定版本的 Ruby
rbenv install <version>3. 列出所有已经安装在你本地的 Ruby 版本(星号 * 表示当前正在使用的版本)
rbenv versions4、卸载
rbenv uninstall <version>5. rbenv 有三个级别的版本设置,优先级从高到低:Shell > Local > Global。
5.1、设置全局默认版本。
rbenv global <version>
5.2、为当前目录(及其子目录)设置一个特定的 Ruby 版本
rbenv local <version>
5.3、仅为当前的 Shell 会话设置 Ruby 版本。
rbenv shell <version>6、查看Ruby 版本以及它是如何被设置的(global, local, or shell)。
rbenv version
7、显示某个命令(如 ruby, gem, rake)的完整路径
rbenv which <command>
8、刷新 rbenv 的 "shims"(垫片)。
rbenv rehash
场景:当你安装了一个包含可执行文件的 gem(比如 rails, cocoapods, jekyll)后,需要运行此命令,rbenv 才能找到这个新的命令。
小技巧:可以安装 rbenv-gem-rehash 插件来实现自动 rehash,一劳永逸:brew install rbenv-gem-rehash
9、在选定的 Ruby 版本环境中执行一个命令。
rbenv exec <command>
场景:不常用,但在某些脚本或复杂情况下,可以确保命令在正确的 Ruby 环境下运行。