如何解决安装rails时出错

199 阅读3分钟

你是否曾试图在你的Mac上安装Rails,但得到了 "构建宝石本地扩展失败 "的错误?

Building native extensions. This could take a while...
ERROR: Error installing rails:
ERROR: Failed to build gem native extension.

这是人们在试图在没有适当的Ruby开发环境的Mac上安装gem时面临的一个常见问题。大多数人是在试图用sudo 安装Rails之后遇到这个问题的:

sudo gem install rails

然而,你永远不应该使用sudo来安装宝石

也许你最初试图在没有sudo 的情况下进行安装,使用gem install rails ,但后来你得到了这个错误。

ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory

这是因为macOS预装了Ruby,但苹果不希望你对系统的Ruby进行修改,例如安装宝石。

那么,在Mac上安装宝石的正确方法是什么?

虽然在Mac上安装宝石有多种方法,但真正应该推荐的只有一种方法:使用版本管理器。

我强烈推荐使用Ruby管理器,因为它允许你同时安装多个版本的Ruby,并且可以在它们之间轻松切换。你很可能会在网上遇到直接用Homebrew安装Ruby的说明,但这最终会让你感到困惑,因为你一次只能使用一个版本。

在过去的十年里,我已经帮助成千上万的人在他们的Mac上设置了Ruby。从干净的Mac到最隐蔽的问题,我都见过并解决了。而最可靠的解决方案是使用一个版本管理器,特别是chruby

为了帮助像你这样的人,并使其尽可能简单和无痛,我建立了Ruby on Mac,这是一个自动化脚本,可以让你在几分钟内启动并运行Rails。

阅读人们对该脚本的评价

Ruby on Mac不仅会建立一个合适的Ruby环境,它还会自动安装Rails,以及Rails需要的所有其他工具,如Bundler、Git、Postgres、Node、Yarn和Redis。所有这些只需一个命令。它将为你节省大量的时间和挫折感。

它不只是有一次性的使用。你可以一次又一次地运行它,以保持你的系统是最新的和安全的。而且,当你下次得到一个新的Mac时,它将为你节省半天时间,因为它还可以自动安装你所有的Mac应用程序,此外还有一个完整的开发环境。你现在和将来都可以用一次性的费用获得所有这些时间上的节省。

当你今天购买Ruby on Mac时,你将支持一个独立的开发者,而且考虑到它所节省的时间,你将以一个非常合理的价格获得它。

如果你想在一台工作电脑上设置Rails,你应该能够支付Ruby on Mac的一次性费用。