m1芯片启动2.0版本以上nacos报错(mach-o file, but is an incompatible architecture (have ‘x86_64‘, need ‘arm64e‘)

关于基于arm架构的m1及m1以上芯片无法使用2.0以上版本nacos的解决方案

官方解决方案穿越https://github.com/alibaba/nacos/issues/4336

问题简述:最近在学习使用低代码平台工具Ruo Yi-Cloud(低代码平台微服务版本),项目基于nacos作为服务的注册中心,最新版本需要nacso需要2.0以上版本,下载最新版本nacos启动nacos报错截图如下:

在这里插入图片描述

报错核心问题信息如下:(mach-o file, but is an incompatible architecture (have ‘x86_64’, need ‘arm64e’)) ,

解决方案

项目安利,若依低代码平台(微服务版)https://gitee.com/y_project/RuoYi-Cloud

解决方案核心:更换基于x86架构的jdk

以下阐述全部抄自于github

目前在使用 Apple M1,现在已经能够运行 nacos 服务,分享下一些实践经验。

M1 使用 zulu JDK 编译会碰到如下错误,依赖关系为 nacos -> jraft -> rocksdb5.x ,目前最新版的 rocks6.x 系列也暂未支持 M1 架构,但已有大神在尝试编译 mac 通用版本(x86 和 aarch64 通用),最近也有进度,见:facebook/rocksdb#7720

librocksdbjni14096835716120570872.jnilib: mach-o, but wrong architecture

虽然已经有 M1 架构的 rocksdb 民间编译版本:https://bintray.com/maryk/maven/rocksdbjni/6.17.0
但 jraft 依赖的 BloomFilter 在 rocks6.x 系列版本里发生了 Break Change,导致无法使用。

所以想要使用 zulu JDK 运行,还需要等待:

  • rocksdb Mac 通用版本发行
  • jraft 升级依赖,修复版本兼容问题

但这并不代表我们就只能干等了,还是有办法继续运行 rocksdb 的,只是要牺牲一些性能罢了:

Nacos 开发者:解决源码运行问题

直接看重点:使用 Oracle JDK 1.8 以上可以成功运行源码
优点:使用的 Rosseta 转译过的 Oracle JDK,几乎没啥兼容问题
缺点:性能回到上代 i5 ~i7 之间水平,启动时间相比 zulu JDK 延长 5 倍左右,但还可接受

Nacos 用户:解决服务运行问题

指定 JAVA_HOME 到 Oracle JDK,再运行官网下载的服务包即可,例如:

我们也可以直接将nacos的配置文件中jdk指向安装的基于x86的jdk路径即可

# JAVA_HOME 每台机器都不一样,请改成本机路径
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Home \
&& sh startup.sh -m standalone

总结

其实,M1 的所有兼容问题,在没有 native 支持的版本出来之前,我们几乎都可以通过 rosseta 解决。
补充个大宝藏:
同时安装 x86 架构的 homebrew 和 arm 架构的 homebrew,保佑你安然渡过 M1 过渡期
[TIP | The BEST way to install Homebrew (Brew) on Apple Silicon (M1)]

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
### 回答1: nacos-server-2.1.0.zip是Nacos的服务器软件的安装包,适用于Windows操作系统的64位版本。 通过下载并解压nacos-server-2.1.0.zip文件,您可以直接在Windows x64位操作系统上安装和运行Nacos服务器。 Nacos是一个开源的服务发现、配置管理和服务管理平台,支持动态服务的注册和发现、配置管理和服务治理等功能。它可以帮助您在微服务架构中更方便地管理和监控各个服务的状态和配置,提供了一种集中式的管理方式。 使用Nacos,您可以轻松注册和发现各个微服务实例,无需手动维护服务地址和端口信息,提高了服务间相互调用的灵活性和可靠性。 此外,Nacos还提供了配置管理的功能,可以集中管理各个微服务的配置信息,如数据库连接信息、缓存配置等,方便了配置的统一管理和更新。 另外,Nacos还提供了服务管理和治理的功能,可以通过健康检查、流量管理等方式来管理和保护您的微服务,提高了系统的稳定性和安全性。 总之,nacos-server-2.1.0.zip是一款适用于Windows x64位操作系统的Nacos服务器安装包,能够帮助您更好地管理和监控微服务架构中的各项功能。 ### 回答2: nacos-server-2.1.0.zip 是一个用于部署 Nacos 服务的压缩文件,适用于 Windows 64 位操作系统。 Nacos 是一个可扩展的动态服务发现、配置管理和服务管理平台。它提供了一种简单易用的方式来实现微服务架构中的服务注册、发现和配置管理。在 Nacos 中,你可以注册各种类型的服务,例如:微服务、云原生应用、数据库、队列、缓存等,并在需要时找到并使用这些服务。 要在 Windows x64 位操作系统上使用 nacos-server-2.1.0.zip,你需要执行以下步骤: 1. 在 Nacos 的官方网站上下载 nacos-server-2.1.0.zip 文件,并将其解压到一个合适的文件夹中。 2. 进入解压后的文件夹,找到 bin 目录并进入。 3. 双击运行 startup.cmd 文件,启动 Nacos 服务器。 4. 完成上述步骤后,你可以在浏览器中访问 http://localhost:8848/nacos 来访问 Nacos 控制台,并开始注册、发现和管理你的服务。 需要注意的是,对于 64 位操作系统,你的计算机必须支持 64 位的 Java 运行环境。确保你已经在计算机上安装了 64 位的 Java 以及预先设置好了 JAVA_HOME 环境变量。 通过上述步骤,你就可以在 Windows 64 位操作系统上使用 nacos-server-2.1.0.zip 进行 Nacos 服务的部署和管理。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值