【问题标题】:Should I use the pre-installed Ruby on a Mac?我应该在 Mac 上使用预装的 Ruby 吗?
【发布时间】:2021-05-12 22:58:22
【问题描述】:

我正在使用 macOS Big Sur。当我检查 Ruby 是否可用时,我看到:

$ ruby -v
ruby 2.6.3p62

检查which:

$ which ruby
/usr/bin/ruby

我可以看到 Ruby 已预安装在 macOS 上。但有人告诉我,“不要使用系统 Ruby。” 为什么?

【问题讨论】:

    标签: ruby macos


    【解决方案1】:

    不要使用系统 Ruby!

    以下是不使用 Ruby 进行开发的原因:

    • gems 的默认位置是系统 Ruby 目录 /Library/Ruby/Gems/2.6.0,因此您需要成为超级用户才能安装 gems(并且您真的不应该更改此文件夹)

    • 您可以使用 sudo 来安装 gem,但这是一个安全风险(gem 安装可能会运行恶意代码)

    • 使用 Bundler 是管理 gem 版本和依赖项的最佳实践(项目可能使用不同的 gem 版本;或者一个项目可能使用需要不同版本的公共依赖项的不同 gem)

    • 您可以使用 --user-install 参数安装 Bundler 来设置 gem 目录,但这不是常见的做法

    • 最好使用最新版本的 Ruby 启动项目,系统 Ruby 为 2.6.3

    • 如果您有多个项目并且不能一次更新它们,您将需要多个 Ruby 版本和一个版本管理器(请参阅我的指南 Install Ruby on a Mac,它比较了版本管理器并展示了如何使用 asdf 安装 Ruby或 chruby 或 Homebrew)

    • 预装的 Ruby 已被 Apple 弃用,可能会在未来的 macOS 版本中消失

    一些开发人员使用系统 Ruby 来运行系统管理脚本。没关系,只要您不通过尝试更新或添加 gem 来更改系统 Ruby。请记住,系统 Ruby 是为 macOS 准备的,而不是为你准备的。对于开发,请使用 Homebrew 或版本管理器安装 Ruby。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-23
      相关资源
      最近更新 更多