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 相关教程
相关推荐
qystca23 分钟前
洛谷 B3637 最长上升子序列 C语言 记忆化搜索->‘正序‘dp
c语言·开发语言·算法
薯条不要番茄酱23 分钟前
数据结构-8.Java. 七大排序算法(中篇)
java·开发语言·数据结构·后端·算法·排序算法·intellij-idea
今天吃饺子28 分钟前
2024年SCI一区最新改进优化算法——四参数自适应生长优化器,MATLAB代码免费获取...
开发语言·算法·matlab
努力进修32 分钟前
“探索Java List的无限可能:从基础到高级应用“
java·开发语言·list
Komorebi.py1 小时前
【Linux】-学习笔记05
linux·笔记·学习
亦枫Leonlew2 小时前
微积分复习笔记 Calculus Volume 1 - 6.5 Physical Applications
笔记·数学·微积分
Ajiang28247353042 小时前
对于C++中stack和queue的认识以及priority_queue的模拟实现
开发语言·c++
幽兰的天空3 小时前
Python 中的模式匹配:深入了解 match 语句
开发语言·python
Theodore_10225 小时前
4 设计模式原则之接口隔离原则
java·开发语言·设计模式·java-ee·接口隔离原则·javaee
zy张起灵6 小时前
48v72v-100v转12v 10A大功率转换电源方案CSM3100SK
经验分享·嵌入式硬件·硬件工程