Mac中M系列芯片采用rbenv管理ruby版本

目录

      • [一、使用 `rbenv` 安装 Ruby](#一、使用 rbenv 安装 Ruby)
        • [第 1 步:安装 Homebrew (macOS 的包管理器)](#第 1 步:安装 Homebrew (macOS 的包管理器))
        • [第 2 步:使用 Homebrew 安装 rbenv 和 ruby-build](#第 2 步:使用 Homebrew 安装 rbenv 和 ruby-build)
        • [第 3 步:配置你的 Shell 以加载 rbenv](#第 3 步:配置你的 Shell 以加载 rbenv)
        • [第 4 步:安装一个稳定版本的 Ruby](#第 4 步:安装一个稳定版本的 Ruby)
        • [第 5 步:设置并使用你安装的 Ruby 版本](#第 5 步:设置并使用你安装的 Ruby 版本)
      • [二、为什么不推荐 RVM?](#二、为什么不推荐 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) 应用,复制并粘贴以下命令,然后按回车:

bash 复制代码
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • 安装过程会要求你输入电脑的登录密码(输入时屏幕上不会显示字符),这是正常现象。

安装结束后,请仔细阅读终端的输出。它可能会提示你运行一两行命令,将 Homebrew 添加到你的 Shell 环境中。请务必复制并执行这些命令。通常是这样的:

bash 复制代码
(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。

bash 复制代码
brew install rbenv ruby-build
第 3 步:配置你的 Shell 以加载 rbenv

这一步是为了让 rbenv 在你每次打开终端时都能自动生效。

bash 复制代码
# 将 rbenv 的初始化命令添加到你的 Shell 配置文件 (~/.zshrc) 中
echo 'eval "$(rbenv init - zsh)"' >> ~/.zshrc

# 为了让配置在当前终端窗口立即生效,运行:
source ~/.zshrc

注意:macOS 的默认 Shell 是 Zsh,所以我们操作的是 _ _~/.zshrc_ _文件。

验证一下完全关闭终端,然后重新打开一个新窗口。输入以下命令:

bash 复制代码
type rbenv | head -n 1

如果看到输出 rbenv is a shell function,恭喜你,rbenv 已经准备就绪!

第 4 步:安装一个稳定版本的 Ruby

现在可以安装 Ruby 了。对于新项目,强烈推荐使用最新的稳定版本,比如 Ruby 3.3.x

  1. List item

查看所有可供安装的 Ruby 版本**(可选):

bash 复制代码
rbenv install -l
  1. 安装最新的稳定版(以 3.3.1 为例):
bash 复制代码
rbenv install 3.3.1

这个过程会自动下载源码、编译并安装。在 Apple Silicon 上,ruby-build 已经处理好了绝大多数兼容性问题,你只需要耐心等待它完成即可。

第 5 步:设置并使用你安装的 Ruby 版本

安装完成后,你需要告诉 rbenv 你想用哪个版本。

  1. 设置全局默认版本: 这会让你在任何地方打开终端时,都默认使用这个 Ruby 版本。
bash 复制代码
rbenv global 3.3.1
  1. 刷新 rbenv 的 "shims"
    rbenv 通过 "shims"(垫片)来拦截 ruby 命令。设置新版本后,最好刷新一下。
bash 复制代码
rbenv rehash
  1. 验证你的 Ruby 环境
bash 复制代码
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 上更受欢迎。

三、常用命令行

bash 复制代码
1. 查看可安装版本
rbenv install -l
rbenv install --list

2. 安装指定版本的 Ruby
rbenv install <version>

3. 列出所有已经安装在你本地的 Ruby 版本(星号 * 表示当前正在使用的版本)
rbenv versions

4、卸载
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 环境下运行。
相关推荐
笑道三千5 小时前
react-native在mac的m2芯片下,pod install安装glog的时候报错
macos
工藤学编程7 小时前
深入浅出 RabbitMQ:简单队列实战指南
分布式·rabbitmq·ruby
GawynKing8 小时前
Neo4j 社区版 Mac 安装教程
macos·neo4j
神奇大叔8 小时前
mac 技巧
macos
iFlyCai9 小时前
Flutter兼容的iOS的最低版本号
macos·objective-c·cocoa
0wioiw011 小时前
Apple基础(Xcode⑤-Flutter-Singbox-AI提示词)
flutter·macos·xcode
喵手19 小时前
使用ASIWebPageRequest库编写Objective-C下载器程序
开发语言·macos·objective-c
0wioiw019 小时前
Apple基础(Xcode②-Flutter结构解析)
flutter·macos·xcode
0wioiw019 小时前
Apple基础(Xcode④-Flutter-Platform Channels)
flutter·macos·xcode