在 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:create
,db: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 的问题的主要内容,如果未能解决你的问题,请参考以下文章