Mac系统Nacos安装启动全攻略:解决Java环境与脚本适配问题
1. 从“启动不了”说起为什么你的Nacos在Mac上总出问题最近在帮几个朋友处理Mac上部署Nacos的问题发现一个挺有意思的现象很多人照着网上所谓的“一键安装”教程操作最后都卡在了“启动不了”这一步。要么是startup.sh一闪而过要么是日志里报一堆看不懂的错误然后就开始怀疑人生觉得是Mac系统太“矫情”。其实这事儿真不怪Mac很多时候是我们自己没把环境这摊子事儿理顺。Nacos作为一个服务发现和配置管理中心本身并不复杂但它对运行环境主要是Java有明确的版本要求。在Mac上问题往往就出在这里——系统可能预装了多个Java版本或者你通过Homebrew安装的Java环境变量没配置对。当你执行启动脚本时系统调用的可能不是你期望的那个Java版本不匹配自然就启动失败了。所以这篇教程的核心不是机械地告诉你点哪里、输什么命令而是带你理解每一步背后的逻辑尤其是如何为Nacos准备一个“干净听话”的Java环境并解决那些启动脚本里隐藏的坑。毕竟知其然更要知其所以然下次再遇到类似问题你才能自己搞定。2. 战前准备理清环境与获取安装包在动手之前我们先花几分钟把“战场”打扫干净准备好“弹药”。这步做扎实了后面能省去至少80%的麻烦。2.1 Java环境版本与路径是关键Nacos 2.x版本通常要求JDK 1.8或更高版本但强烈建议使用JDK 1.8或JDK 11/17这些长期支持版。在Mac上检查Java环境我们得用终端但别只看java -version。首先打开你的终端Terminal输入以下命令查看当前生效的Java版本java -version如果显示类似openjdk version “1.8.0_392”这样的信息说明版本可能是OK的。但还不够我们得知道它安装在哪。使用/usr/libexec/java_home -V这个命令会列出你Mac上所有已安装的Java版本及其详细路径。请记下你打算使用的那个版本的路径例如/Library/Java/JavaVirtualMachines/jdk1.8.0_392.jdk/Contents/Home。为什么这步重要因为很多同学的Mac里可能通过App Store、Oracle官网、Homebrew甚至IDE自带装了好几个Java。系统环境变量JAVA_HOME指向的未必是你想要的。Nacos的启动脚本尤其是稍后我们会修改的startup.sh会依赖JAVA_HOME来找到正确的Java。如果指向了一个版本不对或者不完整的JRE运行环境而非JDK开发工具包启动就可能失败。我的建议是如果你没有明确需求我推荐通过Homebrew安装一个干净的Azul Zulu JDK 8这是一个开源且许可证友好的OpenJDK发行版。安装命令很简单brew tap homebrew/cask-versions brew install --cask zulu8安装后再用/usr/libexec/java_home -V确认路径并确保你的JAVA_HOME环境变量指向它。你可以通过编辑~/.zshrc如果你用的是zsh这是Mac新版本的默认shell或~/.bash_profile来设置export JAVA_HOME$(/usr/libexec/java_home -v 1.8) export PATH$JAVA_HOME/bin:$PATH然后执行source ~/.zshrc使配置生效。用echo $JAVA_HOME验证一下。2.2 获取Nacos安装包选对版本和模式前往Nacos的官方GitHub仓库发布页面https://github.com/alibaba/nacos/releases 下载稳定版本的压缩包。对于个人学习或开发我建议直接下载nacos-server-$version.tar.gz这个包。别下成src的源码包了那是需要自己编译的。这里有个小细节Nacos有“单机模式”和“集群模式”。我们本教程旨在快速启动体验所以选择单机模式。单机模式默认使用内嵌的Derby数据库开箱即用非常适合本地开发和测试。集群模式则需要额外配置MySQL数据库和高可用设置那是后话了。记住我们今天的目标是先让它“跑起来”。下载完成后我习惯把它放在用户目录下的一个特定文件夹里比如~/Developer/tools。你可以用Finder图形界面拖过去也可以用终端命令。打开终端进入下载目录通常~/Downloads然后# 创建目标目录如果不存在 mkdir -p ~/Developer/tools # 移动并解压假设你下载的包叫 nacos-server-2.3.0.tar.gz tar -xzf nacos-server-2.3.0.tar.gz -C ~/Developer/tools/ # 进入解压后的目录 cd ~/Developer/tools/nacos现在你的“弹药”已经就位就在~/Developer/tools/nacos这个目录下。3. 启动前的关键一步修改启动脚本以适应Mac这是整个教程最核心、最能解决“启动不了”问题的一步。很多人直接双击或运行sh startup.sh -m standalone就报错原因就藏在这个脚本里。3.1 找到并剖析 startup.sh在刚才进入的nacos目录下你会看到一个bin文件夹。里面有几个脚本其中startup.sh用于启动shutdown.sh用于停止。我们用文本编辑器比如VSCode、Sublime Text甚至Mac自带的TextEdit打开startup.sh。不要直接运行先看内容。在脚本靠前的位置你会找到一段关于Java环境和内存设置的代码。问题通常出在它寻找Java的方式上。原脚本可能通过which java或者$JAVA_HOME来定位但在某些Mac环境配置下这种方式不够可靠。3.2 显式指定 JAVA_HOME最稳妥的办法是在这个脚本里显式地告诉它我们的Java在哪里。我们找到脚本中设置JAVA_HOME的部分可能在检查JAVA_HOME是否为空的地方。你可以直接在脚本开头变量定义的区域之后添加一行# 在脚本原有代码之上添加这行。请将路径替换为你自己用 /usr/libexec/java_home -V 查到的路径 export JAVA_HOME/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home为什么这么做这就相当于在运行这个脚本的临时环境里强行指定了Java的家在哪里优先级最高。避免了因为当前Shell会话的环境变量没设置好或者脚本内部逻辑寻址失败而导致的问题。这是一种非常直接有效的“硬编码”解决方案特别适合在固定环境比如你自己的开发机上使用。3.3 处理可能的内存参数问题针对Apple Silicon Mac如果你使用的是Apple SiliconM1/M2/M3芯片的Mac可能会遇到另一个坑。某些旧版本的Java或脚本在设置JVM内存参数时使用了-Xmn、-Xms、-Xmx等参数如果参数值设置得过大而你的Mac当前可用物理内存或交换空间不足也可能导致启动失败JVM直接崩溃退出日志里可能都没有明显错误。怎么办我们可以适当调低这些参数。在startup.sh脚本里寻找JAVA_OPT相关的行里面会包含类似-Xms2g -Xmx2g -Xmn1g这样的配置。对于本地开发我们不需要那么大的堆内存。可以将其修改为JAVA_OPT”${JAVA_OPT} -Xms512m -Xmx512m -Xmn256m”这样就将初始堆内存、最大堆内存和新生代内存都设置到了一个更保守、兼容性更好的值。修改后保存文件。注意修改脚本文件可能需要权限。如果你在保存时被提示“无权修改”可以在终端先进入nacos/bin目录然后用chmod w startup.sh给文件添加写权限或者使用sudo vim startup.sh来编辑。4. 启动、验证与访问环境配好脚本改好现在可以启动了。4.1 以单机模式启动确保你的终端当前工作目录在nacos/bin下。执行命令sh startup.sh -m standalone那个-m standalone参数就是指定以单机模式运行。如果不加默认也是单机模式但显式指定是个好习惯。执行后你应该看到什么如果一切顺利终端会输出几行日志最后一行通常是类似“nacos is starting with standalone”这样的信息然后脚本就退出了。别慌这很正常Nacos服务是在后台以守护进程Daemon方式启动的启动脚本的任务就是把它拉起来然后自己结束。4.2 如何确认Nacos真的启动了有几种方法可以验证查看日志这是最直接的方式。Nacos的日志文件在nacos/logs目录下。查看启动日志tail -f ~/Developer/tools/nacos/logs/start.out使用tail -f命令可以实时滚动查看日志末尾。当你看到日志里出现“Nacos started successfully in stand alone mode”或者“Nacos started successfully in standalone mode”的字样时就说明启动成功了。如果启动失败错误信息也会在这里显示这是你排查问题的第一手资料。检查进程在终端输入ps -ef | grep nacos你应该能看到一个或多个包含nacos关键词的Java进程。访问Web控制台Nacos提供了一个非常友好的Web管理界面。打开你的浏览器访问http://localhost:8848/nacos默认用户名和密码都是nacos。如果能看到登录页面并成功登录进入管理后台那毫无疑问就是成功了。4.3 首次登录与安全提醒成功登录后系统很可能会在首页弹出一个“安全提醒”建议你修改默认密码。对于本地开发环境你可以选择暂时忽略但务必记住如果将来你要在公网或者任何非绝对安全的内网环境部署Nacos第一步必须是修改这个默认密码并考虑配置鉴权否则你的配置中心和服务注册中心将毫无安全可言。5. 踩坑实录那些让你“启动不了”的典型错误与排查思路即便按照上述步骤操作你可能还是会遇到问题。别担心这才是常态。下面我罗列几个最常见的错误场景和我的排查思路你可以像对照清单一样逐一检查。5.1 错误现象startup.sh执行后立刻退出无任何日志或进程可能原因1JAVA_HOME未正确设置或Java版本不兼容。排查在startup.sh脚本里在开头加一行echo “JAVA_HOME is: $JAVA_HOME”然后重新运行脚本看终端输出路径是否正确。或者直接在终端里用绝对路径调用Java来运行Nacos的启动类这是一个“绕过脚本”的终极测试方法cd ~/Developer/tools/nacos $JAVA_HOME/bin/java -version # 先确认Java能运行 $JAVA_HOME/bin/java -Dnacos.standalonetrue -jar target/nacos-server.jar # 注意实际jar包路径可能在别的目录这只是一个思路不过更常见的是检查nacos/bin目录下是否有startup.sh的语法错误比如因为Windows和Unix换行符不同导致的可以用cat -A startup.sh看看行尾是不是^M$有^M就是Windows换行符需要用dos2unix命令转换。可能原因2端口8848被占用。排查Nacos默认使用8848端口。用命令检查lsof -i :8848如果发现有其他进程占用你可以选择停止那个进程或者修改Nacos的启动端口。修改端口需要编辑nacos/conf/application.properties文件找到server.port8848这一行改成其他未被占用的端口例如8858然后重启Nacos。5.2 错误现象日志中有明显的错误信息例如数据库连接失败可能原因单机模式使用了MySQL配置但MySQL没启动或配置错误。背景虽然单机模式默认用Derby但如果你之前动过conf/application.properties文件或者从某个集群配置的教程里复制了文件可能里面配置了MySQL连接。排查打开nacos/conf/application.properties文件查看关于数据库的配置部分。如果看到spring.datasource.platformmysql并且下面配置了db.url.0,db.user,db.password等说明它想连接MySQL。解决对于只想快速启动的你有两个选择临时恢复Derby将spring.datasource.platform的值改为derby或者直接注释掉MySQL的那些配置行。安装并启动MySQL如果你确实需要用MySQL比如想持久化数据那就需要先确保MySQL服务已启动并且数据库名、用户名、密码与配置文件中的一致。你可以使用Homebrew安装MySQLbrew install mysql然后启动服务brew services start mysql。5.3 错误现象Apple Silicon Mac上启动失败日志提示与原生库相关可能原因极少数情况下如果使用了一些非常老的库或特定版本可能与Apple Silicon的ARM架构不完全兼容。排查与解决首先确保你安装的是支持ARM架构的JDK比如我们前面推荐的Azul Zulu JDK 8就支持。其次可以尝试在启动脚本的JAVA_OPT中添加一个JVM参数来强制使用纯Java模式如果问题出在本地库上JAVA_OPT”${JAVA_OPT} -Djava.awt.headlesstrue -Djava.net.preferIPv4Stacktrue”但更根本的解决方案是使用为ARM架构编译的、更新的软件版本。6. 日常使用启停、目录结构与配置初探让Nacos跑起来只是第一步我们还得知道怎么优雅地用它、管它。6.1 如何停止Nacos在nacos/bin目录下运行sh shutdown.sh这个脚本会向Nacos进程发送停止信号使其安全关闭。同样你可以通过ps -ef | grep nacos来确认进程是否已经消失。6.2 Nacos目录结构扫盲了解主要目录的作用以后找东西不迷路bin/: 启动和停止脚本所在目录。我们刚才主要打交道的地方。conf/:配置目录非常重要application.properties: 核心配置文件可以修改端口、数据库连接、鉴权开关等。cluster.conf.example: 集群配置示例文件。nacos-mysql.sql: 初始化MySQL数据库的SQL脚本如果你用MySQL的话。logs/:日志目录排错必看start.out: 启动日志记录启动过程中的标准输出和错误。nacos.log: 运行时的详细日志。data/: 数据目录。单机模式下Derby数据库文件就存放在这里。如果要彻底清理Nacos比如重置所有配置停止服务后删除这个目录下的所有文件即可。target/或nacos-server.jar: 实际的应用程序包。6.3 一个简单的配置管理实操让我们体验一下Nacos的核心功能之一——配置管理。确保Nacos正在运行并登录Web控制台 (http://localhost:8848/nacos)。在左侧菜单栏点击“配置管理” - “配置列表”。点击右上角的“” (创建配置)。填写表单Data ID:example.properties(这是一个示例Data ID是配置的唯一标识)Group:DEFAULT_GROUP(默认组)配置格式: 选择Properties配置内容:user.nameTestUser server.port8080 feature.enabledtrue点击“发布”。好了你已经在Nacos服务器上创建了一个配置项。现在任何一个连接到这个Nacos的微服务应用都可以通过指定这个Data ID和Group来获取到user.nameTestUser等配置信息并且当你在控制台修改这个配置并发布时所有监听该配置的应用都能近乎实时地收到通知并更新。这就是“配置中心”和“热更新”能力的直观体现。7. 进阶与优化让本地开发更顺手如果你打算长期在本地使用Nacos进行开发可以考虑下面几点优化。7.1 设置为开机自启动非必需对于开发机我个人不推荐将Nacos设为开机启动因为可能占用资源。但如果你需要可以创建一个LaunchAgent。创建一个plist文件例如~/Library/LaunchAgents/com.alibaba.nacos.plist。编辑其内容?xml version“1.0” encoding“UTF-8”? !DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd” plist version“1.0” dict keyLabel/key stringcom.alibaba.nacos/string keyProgramArguments/key array string/bin/bash/string string/Users/你的用户名/Developer/tools/nacos/bin/startup.sh/string string-m/string stringstandalone/string /array keyRunAtLoad/key true/ keyStandardOutPath/key string/Users/你的用户名/Developer/tools/nacos/logs/startup.stdout.log/string keyStandardErrorPath/key string/Users/你的用户名/Developer/tools/nacos/logs/startup.stderr.log/string keyWorkingDirectory/key string/Users/你的用户名/Developer/tools/nacos/string /dict /plist注意务必把其中的路径/Users/你的用户名/Developer/tools/nacos替换成你实际的Nacos安装路径。加载这个agentlaunchctl load ~/Library/LaunchAgents/com.alibaba.nacos.plist下次开机时Nacos就会自动启动了。要卸载则使用launchctl unload。7.2 使用Docker运行Nacos另一种选择如果你熟悉Docker在Mac上通过Docker Desktop运行Nacos可能是更干净、更隔离的选择避免了污染本地环境。一条命令即可docker run --name nacos-standalone -e MODEstandalone -p 8848:8848 -d nacos/nacos-server:latest这会在后台启动一个最新版的Nacos单机容器并将容器的8848端口映射到本机的8848端口。访问方式同样是http://localhost:8848/nacos。管理起来也方便停止用docker stop nacos-standalone启动用docker start nacos-standalone删除用docker rm nacos-standalone。7.3 连接外部MySQL数据库当你需要持久化配置数据或者为将来搭建集群做准备时就需要连接外部MySQL。启动你的MySQL服务确保已创建数据库例如nacos_config。执行nacos/conf目录下的nacos-mysql.sql脚本初始化数据库表结构。修改nacos/conf/application.properties文件# 启用MySQL spring.datasource.platformmysql # 数据库实例数量单机就是1 db.num1 # 第一个数据库的连接信息 db.url.0jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncodingutf8connectTimeout1000socketTimeout3000autoReconnecttrueuseUnicodetrueuseSSLfalseserverTimezoneUTC db.user.0root db.password.0your_password重启Nacos。此时所有配置数据将存储在你指定的MySQL数据库中即使删除Nacos的data目录数据也不会丢失。回过头看在Mac上安装和启动Nacos真正的难点往往不在于步骤本身而在于对环境一致性的理解和把控。Java版本、环境变量、启动脚本适配、端口冲突这几个点排查清楚了问题基本都能迎刃而解。我自己的习惯是每在一台新机器上配置环境都会把JAVA_HOME在~/.zshrc和具体应用的启动脚本里都明确指定一遍虽然看起来有点“笨”但胜在绝对可靠避免了因环境差异带来的各种灵异问题。希望这篇从原理到实操再到排坑的详细梳理能帮你把Nacos稳稳地跑在Mac上。

相关新闻

罗技MX Vertical与Lift Vertical垂直鼠标深度测评:人体工学设计如何缓解鼠标手

罗技MX Vertical与Lift Vertical垂直鼠标深度测评:人体工学设计如何缓解鼠标手

1. 项目概述:为什么我们需要“竖起来”的鼠标? 在办公室一坐就是一天,手腕和手臂的酸痛感是不是越来越频繁地找上门?如果你和我一样,长期与键盘鼠标为伴,那么对“鼠标手”(腕管综合征&#xff0…

2026/9/27 19:39:34 阅读更多 →
Zotero进阶指南:从文献管理到知识中枢的插件配置与工作流搭建

Zotero进阶指南:从文献管理到知识中枢的插件配置与工作流搭建

1. 从文献管理到知识中枢:为什么Zotero值得你投入时间 如果你还在用文件夹堆叠PDF,用复制粘贴手动整理参考文献,或者在不同笔记软件和文献库之间反复横跳,那Zotero的出现,可能会彻底改变你的工作流。它远不止是一个“文…

2026/9/30 22:16:46 阅读更多 →
SAGE:多智能体自我进化架构,突破LLM复杂推理瓶颈

SAGE:多智能体自我进化架构,突破LLM复杂推理瓶颈

1. 项目概述:当大模型学会“自我进化”最近在折腾大语言模型(LLM)应用的朋友,估计都绕不开一个词:Agent(智能体)。从简单的单智能体工具调用,到多智能体协作完成复杂任务&#xff0c…

2026/10/10 17:27:27 阅读更多 →

最新新闻

Word一键批量添加图章:VBA宏自动化处理全流程详解

Word一键批量添加图章:VBA宏自动化处理全流程详解

做招投标、合同、人事通知的朋友,对“批量盖章”这四个字应该都不陌生。几十份Word文档,每份都要在落款处加上单位图章,如果靠手工——打开文档、插入图片、改大小、拖位置、保存——一份大概要一两分钟,五十份就会耗掉你整个下午…

2026/10/14 5:41:16 阅读更多 →
大模型对话系统的工程化落地:从Demo到可交付客服机器人的关键实践

大模型对话系统的工程化落地:从Demo到可交付客服机器人的关键实践

这个系列我已经写了四篇,前几篇从大模型的基本概念、提示词设计、接口调用,一直讲到如何把一个能“聊天”的demo拼出来。但很多人真正卡住的位置,其实不是“能不能聊起来”,而是“怎么把一个能聊的东西变成一个能交付、能上线、能…

2026/10/14 5:41:16 阅读更多 →
基于YOLOv5的DNF自动脚本:从目标检测到技能释放全链路解析

基于YOLOv5的DNF自动脚本:从目标检测到技能释放全链路解析

简介:这是一份面向游戏自动化与计算机视觉学习者的YOLOv5实战项目包,聚焦DNF场景下的目标识别与自动操作,适合具备Python基础、希望深入理解YOLOv5工程落地与游戏辅助脚本开发的开发者参考。资源共94个文件,以32个py源码、34个pyc…

2026/10/14 5:41:16 阅读更多 →
AIVA虚拟助理开发实战:意图识别、技能路由与上下文管理

AIVA虚拟助理开发实战:意图识别、技能路由与上下文管理

简介:AIVA(A.I. Virtual Assistant)是一套面向开发者的通用虚拟助理项目,基于 Node.js 构建,融合自然语言处理能力,可对接 Slack、Telegram、Facebook 等主流平台,并以机器人形式实现功能泛化—…

2026/10/14 5:41:16 阅读更多 →
本地跑 Codex 更简单,一键安装包封装全部依赖

本地跑 Codex 更简单,一键安装包封装全部依赖

前言 很多想体验 Codex 的开发者,卡在前期环境部署环节。手动安装 Node.js、配置依赖,还要敲大量命令行,对于新手十分不友好,很容易出现各种报错。 Codex 一键安装包把环境配置、依赖安装、客户端部署全部打包封装。不需要手动配…

2026/10/14 5:41:16 阅读更多 →
Redis缓存设计与性能优化:穿透、击穿、雪崩及一致性实战

Redis缓存设计与性能优化:穿透、击穿、雪崩及一致性实战

做后端这几年,凡是线上Redis出问题,十有八九都是缓存设计阶段埋的雷。要么是缓存穿透直接打爆数据库,要么是热key把单节点CPU跑满,再要么就是一批key同时过期,后端服务瞬间卡死。今天这篇不聊Redis命令手册&#xff0c…

2026/10/14 5:40:16 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →