mac M1 pro 安装grpc 报错

bash 复制代码
pecl install grpc
# a few  moments later 。。。。

# 执行 
php -i | grep grpc

## 报错
PHP Warning:  PHP Startup: Unable to load dynamic library 'grpc.so'
 (tried: /opt/homebrew/lib/php/pecl/20190902/grpc.so 
 (dlopen(/opt/homebrew/lib/php/pecl/20190902/grpc.so, 0x0009): tried:
  '/opt/homebrew/lib/php/pecl/20190902/grpc.so' (mach-o file, but is an
   incompatible architecture (have 'x86_64', need 'arm64e'))), 
  /opt/homebrew/lib/php/pecl/20190902/grpc.so.so 
  (dlopen(/opt/homebrew/lib/php/pecl/20190902/grpc.so.so, 0x0009): 
  tried: '/opt/homebrew/lib/php/pecl/20190902/grpc.so.so' (mach-o file,
   but is an incompatible architecture (have 'x86_64', need 
   'arm64e')))) in Unknown on line 0

have 'x86_64', need 'arm64e' 看来是cpu架构导致的

bash 复制代码
uname -a | awk -F " " '{print $(NF-1)}'
root:xnu-8020.121.3~4/RELEASE_ARM64_T6000
哦 确实是 arm64

继续尝试 ARCHFLAGS="-arch arm64" 指定架构

bash 复制代码
arch -arm64e sudo pecl install grpc

好了!!!

ps:ARM64(也称为ARMv8-A)和x86-64(也称为x64或AMD64)是两种不同的计算机处理器架构,它们在物理设计、指令集和应用领域等方面存在一些关键区别。

  1. 指令集架构

    • ARM64:ARM64 架构是基于ARM指令集架构的,最初设计为移动设备和嵌入式系统,但现在也用于服务器和桌面计算机。
    • x86-64:x86-64 架构是基于x86指令集架构的64位扩展,最初是为桌面和服务器计算机设计的。
  2. 体系结构

    • ARM64:ARM64 架构是RISC(精简指令集计算机)架构,它采用了精简的指令集,执行指令速度较快,通常消耗更少的能量。
    • x86-64:x86-64 架构是CISC(复杂指令集计算机)架构,它使用了更多的指令,通常在执行相同数量的操作时消耗更多的能量。
  3. 生态系统

    • ARM64:ARM64 多年来主要用于移动设备、嵌入式系统和单板计算机,但也在服务器领域增长迅猛,尤其是在云计算中。
    • x86-64:x86-64 是桌面和服务器计算机的主导架构,具有庞大的生态系统和广泛的软件支持。
  4. 性能和功耗

    • ARM64:ARM64 架构通常倾向于在功耗方面表现得更出色,特别是在移动设备和嵌入式系统中。
    • x86-64:x86-64 架构在性能方面表现得较为出色,特别是在高性能计算和服务器领域。
  5. 兼容性

    • ARM64:ARM64 架构的应用程序通常需要专门编译或进行兼容性层(例如Rosetta 2)的支持,以在不同的处理器上运行。
    • x86-64:x86-64 应用程序在x86-64处理器上运行,而不需要额外的编译或兼容性支持。

总的来说,ARM64和x86-64是两种不同的处理器架构,它们各自在不同的应用领域有各自的优势和劣势。选择哪种架构取决于特定应用的需求和硬件环境。

相关推荐
CYRUS_STUDIO43 分钟前
利用 Linux 信号机制(SIGTRAP)实现 Android 下的反调试
android·安全·逆向
小溪彼岸1 小时前
macOS自带截图命令ScreenCapture
macos
CYRUS_STUDIO1 小时前
Android 反调试攻防实战:多重检测手段解析与内核级绕过方案
android·操作系统·逆向
黄林晴5 小时前
如何判断手机是否是纯血鸿蒙系统
android
火柴就是我5 小时前
flutter 之真手势冲突处理
android·flutter
法的空间5 小时前
Flutter JsonToDart 支持 JsonSchema
android·flutter·ios
循环不息优化不止5 小时前
深入解析安卓 Handle 机制
android
恋猫de小郭6 小时前
Android 将强制应用使用主题图标,你怎么看?
android·前端·flutter
jctech6 小时前
这才是2025年的插件化!ComboLite 2.0:为Compose开发者带来极致“爽”感
android·开源
用户2018792831676 小时前
为何Handler的postDelayed不适合精准定时任务?
android