MacOS27 x86限制引发的pod的问题处理

由于多年开发,使用的ruby和pod都是x86架构,并从旧系统一直拷贝沿用到MacOS27,终于一切都结束了,问题从

终端命令

pod update

env: ruby: Bad CPU type in executable

在这之上先是一顿鼓捣,删除cocoapods失败,删除Ruby,重新安装失败,删除ruby还会引发鸿蒙devEco-studio的编译报错,最后寻找了一条新的解决方法

  1. 安装 M 芯片原生 Homebrew(arm64,/opt/homebrew)
bash 复制代码
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. 安装结束后,终端会输出两行环境配置,复制执行(示例)
bash 复制代码
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
source ~/.zshrc
  1. 校验新 brew
bash 复制代码
which brew
# 输出 /opt/homebrew/bin/brew ✅
brew --prefix
# 输出 /opt/homebrew
  1. 安装 ruby(arm64 原生 3.x)和 cocoapods
bash 复制代码
brew install ruby
gem install cocoapods 1.17.0

环境隔离的重点

  • 新开原生 arm64 终端 :默认优先 /opt/homebrew/bin/brew,ruby3.x,跑 iOS pod
  • 如果你需要旧 Intel brew(/usr/local/bin/brew),打开 Rosetta 终端,里面自动使用旧 brew,互不干扰
  • /usr/bin/ruby 系统 ruby2.6.10 全程不动,专门给 OpenHarmony 源码编译使用

最后校验

bash 复制代码
$ which brew
/opt/homebrew/bin/brew
$ which ruby
/opt/homebrew/bin/ruby
$ which pod
/Users/anthonyzhu1/.rvm/gems/ruby-2.4.1/bin/pod

几个细节

  • 鸿蒙devEco-Studio的报错
bash 复制代码
java.lang.NoClassDefFoundError: Could not initialize class com.huawei.deveco.debugger.ohos.deployment.DeviceSelector
at com.huawei.deveco.debugger.ohos.deployment.DeviceSelectedService.lambda$isMultipleDeviceSelected$3(DeviceSelectedService.java:80)
at com.intellij.openapi.util.ClassLoaderUtil.computeWithClassLoader(ClassLoaderUtil.java:31)
at com.huawei.deveco.debugger.ohos.deployment.DeviceSelectedService.isMultipleDeviceSelected(DeviceSelectedService.java:77)
at
相关推荐
梦想不只是梦与想11 小时前
HarmonyOS应用分层架构设计
harmonyos·分层架构·一次开发,多端部署
MardaWang14 小时前
当滚动逃离了框架 ——HarmonyOS Web 与原生混排滚动的冲突本质与解法
harmonyos·arkts·鸿蒙·deveco studio
tsqtsqtsq030915 小时前
DevEco Studio 介绍
harmonyos
HwJack2018 小时前
【共创稿事节】HarmonyOS 7文旅展陈展厅大空间 3DGS 重建的分块策略与拼接踩坑
3d·华为·harmonyos
熊猫钓鱼>_>20 小时前
Kotlin Multiplatform for OpenHarmony 实战:为 kotlin-inject 实现依赖注入适配
开发语言·华为·kotlin·ai编程·inject·鸿蒙·openharmony
m0_7381858220 小时前
Flutter 鸿蒙化实战:media_info 适配 OpenHarmony,媒体信息与缩略图
flutter·华为·harmonyos·鸿蒙·媒体
m0_7381858221 小时前
Flutter 鸿蒙化实战:just_audio 适配 OpenHarmony,功能强大的播放器
flutter·华为·harmonyos·鸿蒙
翼辉cto21 小时前
Kotlin Multiplatform 三方库 SQLDelight 的 OpenHarmony 鸿蒙化适配实战
开发语言·kotlin·harmonyos
SuperHeroWu721 小时前
TraeCode 国内版接入 DevEco CLI:用官方知识开发鸿蒙应用
ai编程·harmonyos·知识库·trae·aicoding·skills·deveco cli