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
相关推荐
贾伟康1 小时前
【HarmonyOS 7新能力|030】沉浸光感工程封装:把接入逻辑放进可维护的分层结构
harmonyos·arkts·arkui·harmonyos 7·交互动效
万物智能信息科技1 小时前
GPIO控制状态灯—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
人工智能·华为·开源·harmonyos·鸿蒙
威哥爱编程1 小时前
HarmonyOS 7 平行视界 EasyGo 实战:配置文件接入应用内分屏,1:2/2:1 随意切
harmonyos·arkts
威哥爱编程1 小时前
HarmonyOS 7 空间重建实战:3DGS 端侧重建从建模到商品展示
harmonyos·arkts
jiao000012 小时前
【鸿蒙实战】从零撸一个「华为商城」App
华为·harmonyos·arkts
李游Leo10 小时前
HarmonyOS 7 端侧 AI 视觉能力实战 04:给图片增加人脸检测能力
harmonyos
ChinaDragon11 小时前
HarmonyOS:应用程序包管理模块(获取当前应用信息)
harmonyos
Latte Moments开发13 小时前
Harmony鸿蒙实战开发-事件提醒app「事件名称/描述、提醒日期、提醒时长、延迟提醒次数、延迟提醒事件间隔」➕⏰声音【源码在文末】
华为·harmonyos
星栖与芯13 小时前
LiteOS-M 切换汇编逐行图解(2):指令·异常机制·全景表
stm32·单片机·嵌入式硬件·harmonyos·鸿蒙系统