Mac安装Ruby

Mac 安装 Ruby

1. 介绍

Ruby 是一种简洁优雅、功能强大的编程语言。在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。它具有简洁的语法、动态类型、完全面向对象和强大的元编程能力等特点。广泛应用于 Web 开发(如 Ruby on Rails)、脚本编写和桌面应用开发等领域。Ruby 以其高开发效率、活跃的社区和强大的灵活性深受开发者喜爱。

2. 使用 brew 安装

由于 Mac 自带 Ruby 版本比较低,未来的其他工具可能会受到影响,所以使用 brew 安装一下。

Homebrew 对于 Mac 的用户安装配置环境很便利,没有安装的可以看我的这篇博客:

MacOS上Homebrew 安装、配置、更改国内镜像源及使用教程

先使用查看 Ruby 存在的版本

bash 复制代码
brew search ruby

我们选择下一个不是最新的版本,下载 3.1

3. 配置环境变量

使用命令查看 ruby 安装路径

bash 复制代码
brew info ruby@3.1

这份输出包含了很多关于通过 Homebrew 安装的 Ruby 3.1 的信息:

  1. 版本信息 :显示当前安装的 Ruby 3.1 版本为 3.1.6,且是稳定版本(stable),以瓶装形式提供(bottled)且为"桶中唯一"(keg-only),意味着它没有被符号链接到 /opt/homebrew 的默认位置。
  2. 来源和安装日期 :说明安装文件是从 https://github.com/Homebrew/homebrew-core 的相应公式文件中获取,并给出了安装的具体时间。
  3. 依赖项 :列出了安装 Ruby 3.1 所需的依赖,包括 pkg-configlibyamlopenssl@3readline,并确认它们都已安装(标有"✔")。
  4. 注意事项(Caveats)
    • 指出通过 gem 安装的二进制文件的默认路径,并建议将其添加到 PATH 环境变量中。
    • 给出了如果需要将 Ruby 3.1 的路径置于 PATH 首位的方法,即通过在 ~/.zshrc 文件中添加指定的导出命令。
    • 对于编译器和 pkg-config 找到 Ruby 3.1 的环境变量设置方法。
  5. 分析数据(Analytics):提供了安装次数统计信息,包括 30 天、90 天和 365 天内的安装次数以及按需安装次数和构建错误次数。

由于本人习惯,我习惯将这个配置到 ~/.bash_profile

先打开配置文件 ~/.bash_profile~/.zshrc (这两个文件都 OK)

bash 复制代码
open ~/.bash_profile

将下方加到环境变量中

bash 复制代码
export PATH="/opt/homebrew/opt/ruby@3.1/bin:$PATH"

或者直接使用下方命令

bash 复制代码
echo 'export PATH="/opt/homebrew/opt/ruby@3.1/bin:$PATH"' >> ~/.bash_profile

4. 验证安装

使用命令查看

bash 复制代码
ruby --version

安装成功

参考

  1. https://blog.csdn.net/mydo/article/details/126918391
  2. https://blog.csdn.net/u012263104/article/details/142431581
  3. https://www.runoob.com/ruby/ruby-tutorial.html 相关教程
相关推荐
FreeTinker11 分钟前
Java文件服务器的技术选型与实现路径:从嵌入式工具到企业级系统
java·服务器·开发语言
2501_9065651212 分钟前
小创 · 智能助手
开发语言·c#
sunshine22 girl25 分钟前
Angular7,9,学习笔记四 父子组件传值,组件之间传值
笔记·学习
benchmark_cc26 分钟前
1000只ETF的5分钟K线如何批量获取?QuantDash分页策略与高性能Python实践
开发语言·人工智能·爬虫·python·算法·quantdash·量化数据源
Coodor29 分钟前
如何在web浏览器使用js操作CPU卡
开发语言·前端·javascript·cpu卡
我星期八休息42 分钟前
Linux I/O多路转接—epoll
java·linux·运维·服务器·开发语言·jvm·算法
大模型码小白1 小时前
AI 提示词专栏:使用系统指令(System Prompt)实现全局约束
java·大数据·运维·开发语言·人工智能·python·prompt
蒸蒸yyyyzwd1 小时前
cpp选手秋招学习笔记 day18
笔记·学习
HugoStudio_SWAN1 小时前
C++ CMD 互动动画:按键触发爆炸效果
开发语言·c++·学习·程序人生