在 macOS Big Sur 11.2.3 上安装 ruby​​、rails 和 postgresql 时安装 xcode 的问题

Posted

技术标签:

【中文标题】在 macOS Big Sur 11.2.3 上安装 ruby​​、rails 和 postgresql 时安装 xcode 的问题【英文标题】:Issue with install xcode while installing ruby, rails and postgresql on macOS Big Sur 11.2.3 【发布时间】:2021-04-05 20:04:52 【问题描述】:

更新

我在新的 mac m1 和我安装的 ruby​​、rails、xcode 和 postgresql 上遇到了一些问题

第一次尝试:

##我做了什么?

安装自制软件、ruby、rails、postgresql

操作系统:macOS Big Sur 版本 11.2.1 (20D74)

zsh:5.8 (x86_64-apple-darwin20.0)

postgres:13.2

Rails 版本:Rails 6.1.3

Ruby 版本:ruby 2.7.2p137(2020-10-01 修订版 5445e04352)[arm64-darwin20]

Brew 版本:Homebrew 3.0.9

我能做什么:

我成功了:

使用rails new myApp -d postgresql 创建一个rails 应用程序 将 gem 设计添加到 Gemfile 中 运行bundle install 创建设计用户和所有 CRUD 视图 运行db:createdb:migrate 使用rails s启动服务器 访问所有登录、注册等页面...

预期行为

我希望能够创建一个帐户并在应用程序上连接到它。

实际行为

当我尝试创建一个帐户时,我遇到了一个关于 gem bcrypt 的错误,它似乎在错误的架构上运行...

第二次尝试:

我已经卸载了 ruby​​、rails、rbenv、postgresql、homebrew

我已将我的操作系统版本更新为:macOS Big Sur 11.2.3

我正在学习本教程: gorails.com/setup/osx/11.0-big-sur

Brew 版本:Homebrew 3.0.11

rbenv 版本:rbenv 1.1.2

ruby 版本

2.7.2(由 /Users/lucas-illiano/.ruby-version 设置) 3.0.0(我不能把3.0.0版本放到全球...)

rails 版本:6.1.1

    我在删除系统上的所有 ruby​​ 版本之前删除了 rbenv 吗?是这个原因吗?

在教程的最后,在安装postgresql之前,它说要安装这个包macOS_SDK_headers_for_macOS_10.14.pkg

但是我遇到了关于 x-code 和 CommandLineTools 安装的问题。

我尝试从 developer.apple.com/download/more 下载包我无法获取文件夹 /Library/Developer/CommandLineTools/

我也尝试过xcode-select --install,但 x-code 已经安装好了。没有可用的升级。

我想不出任何其他方式来成功安装这个包。

有人知道在 MacOS Big Sur 上安装 xcode 和 CommandLineTools 的问题吗?

提前致谢,祝大家有个美好的一天。

【问题讨论】:

“我已尝试重新安装所有内容”是什么意思?什么是everything,您是如何重新安装它的?另外,请尽量避免在问题中发布图片,除非这绝对是描述某事的最佳方式(例如 CSS 布局问题。)在您的实例中,您问题中最重要的文本实际上是图片 (!!),上面写着“找不到合适的图片。确实找到了:mach-o,但架构错误”。 在 ARM64 上运行 Ruby 很可能会遇到很多问题,因为它所依赖的许多库正在迎头赶上。您确实想考虑在 Rosetta 2(Apples x86 兼容层)中安装 Ruby,以暂时保持理智。 lewis8s.codes/ruby/programming/apple/arm/arm64/2020/11/27/… 另一个问题是为什么 gem 位于vendor/bundle。你真的打算这样做还是有人忘记将目录添加到.gitignore?这可以解释为什么做bundle uninstall bcrypt - bundle install bcrypt 并不能真正解决问题,因为vendor/bundle 中的宝石会覆盖您的其他宝石。见***.com/questions/12573596/… @TomLord @max 我已经重新安装了 homebrew、rbenv 和 postgresql。我现在正在学习本教程:gorails.com/setup/osx/11.0-big-sur 我能够重新安装 ruby​​ 2.7.2 和 3.0.0 `rbenv 版本 2.7.2(由 /Users/lucas-illiano/.ruby-version 设置)3.0.0` 不确定为什么,但我不能将 3.0.0 设置为全局。我还安装了 rails 6.1.1 在他们建议安装 xcode commandlinetools 的教程中我试图从这里下载包developer.apple.com/download/more我无法获取文件夹/Library/Developer/CommandLineTools/ 我试过xcode-select --install,但是x-code已经安装好了。没有可用的升级。正如我所读到的,安装包macOS_SDK_headers_for_macOS_10.14.pkg可能会解决有关 pg gem 的进一步问题。我刚刚将我的操作系统升级到 macOS Big Sur 11.2.3 我想不出任何其他方式来成功安装这个包。有人有提示吗?提前致谢 【参考方案1】:

不确定这是否会对您有所帮助。如果你能够运行服务器,那么 xcode 和其他东西可能已经很好了。

我现在对 Ruby/Rails 不太感兴趣,但据我所知。 Apple M1 拱门尚不支持某些 gem。如果您收到类似于missing compatible arch 的错误,那么在命令之前使用arch -arch x86_64 可能会有所帮助。

就我而言,我正在运行另一个 gem - Jekyll,使用 arch -arch x86_64 解决了我的问题。

> bundle exec jekyll build --> failed with arch error

但是,

> arch -arch x86_64 bundle exec jekyll build --> works just fine

【讨论】:

以上是关于在 macOS Big Sur 11.2.3 上安装 ruby​​、rails 和 postgresql 时安装 xcode 的问题的主要内容,如果未能解决你的问题,请参考以下文章

MacOS系统升级到Big Sur后CMake报xcode-select错误的解决办法

聊聊 macOS Big Sur

安装MacOS Big Sur的艰苦历程

macOS Big Sur DP1v11.0测试版下载安装

macOS Big Sur 安装到虚拟机

macOS Big Sur发布,macOS迎来最大升级