mac-m1-nacos-2适配问题

mac m1 nacos-2 适配问题

  • nacos 2.x版本无法在 mac-m1芯片上运行

nacos 2.x版本无法在 mac-m1芯片上运行

此问题本质是 m1 芯片安装的 jdk 版本问题

  1. 注: 如果不想处理 jdk 版本问题, 直接使用 nacos-1.x 就可以了, 亲测 nacos-1.1.4 版本可以在 m1 环境正常使用.

  2. 这里以 jdk8 为例, nacos-2.x 目前无法在基于 m1 芯片的 jdk 上运行, 所以需要安装基于 intel 芯片的 jdk.

  3. 这里使用 homebrew 安装, 适配 m1 的 brew 只能安装适配 m1 的 jdk, 因此需要安装适配 x86 的 homebrew.
    参考文章: mac-m1 安装多个 homebrew
    配置 ~/.bash_profile 命令别名, 区分 intel-brew 和 m1-brew
    注: 配置文件修改后需要执行 source 命令才能生效

source ~/.bash_profile

在命令前加上 arch -x86_64 即表示在 x86 芯片环境下运行命令.

alias abrew='/opt/homebrew/bin/brew' # ARM Homebrew
alias ibrew='arch -x86_64 /usr/local/bin/brew' # X86 Homebrew

安装适配 intel 的 jdk-1.8: 这里使用 openjdk

ibrew tap AdoptOpenJDK/openjdk
ibrew install adoptopenjdk8 

安装为 .pkg 文件, 在 /usr/local/Caskroom/adoptopenjdk8/ 目录下, 双击安装即可,
安装后的 jdk 默认路径为 /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk

  1. 方式一: 最简单直接
    修改 nacos 启动脚本 startup.sh
    将源文件
export JAVA="$JAVA_HOME/bin/java"

中的 $JAVA_HOME 直接替换为适配 intel 芯片的 java-home 版本即可

mac-m1-nacos-2适配问题_第1张图片
方式二: 动态修改 jdk 版本
mac-m1-nacos-2适配问题_第2张图片
注: 此方式只在当前命令窗口有效.
执行对应的命令别名, 切换 jdk 版本(表示当前命令窗口所在的jdk环境)
比如下图:
默认情况下执行 java -version, 版本为 17; 执行 别名命令 jdk8 之后再次执行 java -version;
此时 jdk 版本替换为 1.8;

mac-m1-nacos-2适配问题_第3张图片

同理, 执行 别名命令 jdko 后, jdk 版本替换为 openjdk-1.8, 该版本为适配 intel 的 jdk

mac-m1-nacos-2适配问题_第4张图片
其他可参考的文章:
修改命令窗口配置
其他相关:
安装 rosetta: x86 程序在 m1 上运行需要依赖 rosetta

/usr/sbin/softwareupdate --install-rosetta --agree-to-license

nacos-github上的issue说明

你可能感兴趣的:(java,linux)