apollo 使用源码本地安装, go 的一个简单示例

本文介绍了如何在本地安装和配置Apollo配置中心,包括数据库连接设置、服务打包与启动,并提供了一份遇到问题及解决方案的清单。此外,还展示了如何使用Golang与Apollo集成的简单示例。

一. 安装apollo

1.1 下载git项目

地址:https://github.com/apolloconfig/apollo

git clone https://github.com/apolloconfig/apollo.git

1.2 准备工作,创建mysql数据库

脚本地址:https://github.com/apolloconfig/apollo-build-scripts/tree/master/sql

本地mysql两个脚本都执行

1.3 配置项目数据库连接信息

Apollo服务端需要知道如何连接到你前面创建的数据库,所以需要编辑build.sh,修改ApolloPortalDB和ApolloConfigDB相关的数据库连接串信息。

文件位置:./scr

<think>嗯,用户这次明确要求查找Apollo 10.0源码安装的具体方法。从对话历史看,用户应该已经排除了容器化安装方案,坚持要源码级部署。这需要更谨慎处理,因为引用材料里明确提到Apollo 10.0已转向AEM工具链,传统源码模式可能不再被官方推荐。 用户可能是个自动驾驶领域的研究者或开发者,需要深度定制Apollo系统。ta特意强调"源码安装",说明需要修改底层代码或集成其他模块。不过引用[2]的警告很醒目——官方已弃用dev_start.sh等传统脚本,这个矛盾点必须重点提醒用户。 整理四个关键步骤:首先是宿主机准备,引用[3]指出必须Ubuntu+Docker组合;其次GPU支持部分,用户如果有CUDA环境需特别注意nvidia-container-toolkit的配置;然后AEM工具安装的gpg密钥步骤在引用[4]有具体命令;最后工程初始化阶段,引用[2]强调要用aem start取代旧的dev_into.sh。 需要特别警告两个风险点:一是引用[4]显示官方源可能有证书问题,需手动处理gpg key;二是编译环节可能出现依赖缺失,毕竟脱离容器后所有库都要自行解决。最后附上优化建议,比如用ccache加速二次编译,毕竟源码编译耗时可能很长。 考虑到用户技术背景较强,问题设计可以深入些:比如交叉编译选项调试,或源码模式下如何集成自定义感知模块。这类问题能帮助ta解决实际开发中的痛点。 </think>以下是基于官方文档整理的 Apollo 10.0 **源码安装完整流程**,重点强调与容器化安装的区别和注意事项: --- ### **源码安装核心步骤(非容器化)** #### **1. 系统准备** - **Ubuntu 22.04 LTS**(官方推荐,引用 [1][^1]) - **换国内源**:`软件与更新` → 选择阿里云源(加速依赖下载) - 安装基础工具: ```bash sudo apt update && sudo apt install -y git curl gnupg ca-certificates build-essential ``` #### **2. 安装 Apollo 环境管理工具 (AEM)** ```bash # 添加 Apollo GPG 密钥(引用 [4][^4]) curl -fsSL https://apollo-pkg-beta.cdn.bcebos.com/neo/beta/key/deb.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/apolloauto.gpg # 添加软件源 echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/apolloauto.gpg] https://apollo-pkg-beta.cdn.bcebos.com/apollo/core $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/apolloauto.list # 安装 AEM sudo apt update sudo apt install apollo-neo-env-manager-dev ``` --- #### **3. 源码获取与编译** ```bash git clone https://github.com/ApolloAuto/apollo.git --branch master-10.0 cd apollo # 初始化 Apollo 环境(替代旧版 dev_start.sh) aem start # 源码编译(进入容器环境) aem enter ./apollo.sh build ``` > **⚠️ 注意**:Apollo 10.0 已弃用 `dev_start.sh` 等脚本,改用 `aem` 管理环境(引用 [2][^2]) --- #### **4. 解决依赖问题(源码安装关键)** - **手动安装缺失库**(常见于传感器驱动/GPU模块): ```bash # 示例安装 Protobuf 和 Eigen3 sudo apt install -y libprotobuf-dev protobuf-compiler libeigen3-dev ``` - **CUDA 支持**(若需 GPU 加速): - 宿主机安装 **NVIDIA 驱动**和 **CUDA Toolkit 11.8+** - 配置 `nvidia-container-runtime`(引用 [3][^3]) --- #### **5. 启动 Dreamview 验证** ```bash # 在 AEM 容器环境中启动 ./scripts/bootstrap.sh start ``` - 访问 `http://localhost:8888` 查看 Dreamview 界面 --- ### **⚠️ 源码安装警告** 1. **兼容性风险**:Apollo 10.0 源码依赖复杂,需严格匹配: - **GCC 9.4+**,**Bazel 5.4.0** - ROS 2 Humble(仅限特定模块) 2. **调试耗时**:官方已转向容器化部署,源码编译错误需自行解决(如 `undefined reference` 等链接问题) --- ### **优化建议** ```bash # 加速二次编译(调试时) ./apollo.sh build --local_resources 16384,8.0 # 分配 16GB RAM + 8线程 ``` ```bash # 清理缓存(解决构建失败) bazel clean --expunge ``` --- ### **附录:目录结构说明(引用 [3][^3])** | 路径 | 内容 | |--------------------|-----------------------| | `modules/` | 核心算法(感知/规划等)| | `cyber/` | 通信框架 | | `tools/` | 调试工具 | | `docs/` | 技术文档 | ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值