Carbon安装指南 #
一、安装概述 #
1.1 系统要求 #
| 要求 | 说明 |
|---|---|
| 操作系统 | Linux、macOS、Windows (WSL) |
| 内存 | 至少8GB RAM |
| 磁盘空间 | 至少20GB可用空间 |
| 编译器 | Clang 17+ 或 GCC 12+ |
| 构建工具 | Bazel 6.0+ |
1.2 依赖项 #
Carbon依赖以下工具:
- Bazel:构建系统
- LLVM/Clang:编译器后端
- Python 3:构建脚本
- Git:版本控制
二、Linux安装 #
2.1 安装依赖项 #
Ubuntu/Debian:
bash
# 更新包列表
sudo apt update
# 安装基础工具
sudo apt install -y \
git \
python3 \
python3-pip \
curl \
wget \
build-essential
# 安装LLVM和Clang
sudo apt install -y \
llvm \
clang \
lld
# 验证安装
clang --version
Fedora/RHEL:
bash
# 安装依赖
sudo dnf install -y \
git \
python3 \
python3-pip \
curl \
wget \
gcc-c++ \
llvm \
clang \
lld
# 验证安装
clang --version
2.2 安装Bazel #
bash
# 下载Bazel安装脚本
wget https://github.com/bazelbuild/bazel/releases/download/6.4.0/bazel-6.4.0-installer-linux-x86_64.sh
# 添加执行权限
chmod +x bazel-6.4.0-installer-linux-x86_64.sh
# 安装Bazel
./bazel-6.4.0-installer-linux-x86_64.sh --user
# 添加到PATH
export PATH="$PATH:$HOME/bin"
# 验证安装
bazel --version
2.3 编译Carbon #
bash
# 克隆Carbon仓库
git clone https://github.com/carbon-language/carbon-lang
cd carbon-lang
# 编译Carbon工具链
bazel build //toolchain:carbon
# 运行测试
bazel test //toolchain/...
三、macOS安装 #
3.1 安装Homebrew #
如果尚未安装Homebrew:
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
3.2 安装依赖项 #
bash
# 安装Xcode命令行工具
xcode-select --install
# 安装依赖
brew install \
git \
python3 \
llvm \
bazelisk
# 验证安装
clang --version
bazel --version
3.3 编译Carbon #
bash
# 克隆仓库
git clone https://github.com/carbon-language/carbon-lang
cd carbon-lang
# 编译
bazel build //toolchain:carbon
# 测试
bazel test //toolchain/...
四、Windows安装(WSL) #
4.1 启用WSL #
powershell
# 在PowerShell(管理员)中运行
wsl --install
# 重启计算机后,安装Ubuntu
wsl --install -d Ubuntu
4.2 在WSL中安装 #
进入WSL后,按照Linux安装步骤操作:
bash
# 进入WSL
wsl
# 按照Linux安装步骤进行
sudo apt update
sudo apt install -y git python3 python3-pip curl wget build-essential llvm clang lld
# 安装Bazel
# ... 参考Linux安装步骤
五、验证安装 #
5.1 检查Carbon版本 #
bash
# 运行Carbon编译器
bazel run //toolchain:carbon -- --version
5.2 测试编译 #
创建测试文件 hello.carbon:
carbon
package Main api;
fn Main() -> i32 {
Print("Hello, Carbon!");
return 0;
}
编译运行:
bash
# 编译
bazel run //toolchain:carbon -- compile hello.carbon
# 运行生成的可执行文件
./hello
六、开发工具配置 #
6.1 VS Code配置 #
安装Carbon语法高亮扩展:
- 打开VS Code
- 进入扩展市场
- 搜索 “Carbon Language”
- 安装官方扩展
配置 settings.json:
json
{
"files.associations": {
"*.carbon": "carbon"
},
"[carbon]": {
"editor.tabSize": 2,
"editor.insertSpaces": true
}
}
6.2 配置格式化工具 #
Carbon提供代码格式化工具:
bash
# 格式化单个文件
bazel run //toolchain:carbon -- format hello.carbon
# 格式化整个项目
bazel run //toolchain:carbon -- format --dry-run .
6.3 配置LSP(语言服务器) #
Carbon正在开发LSP支持:
bash
# 构建LSP服务器
bazel build //toolchain/language_server:language_server
VS Code配置:
json
{
"carbon.languageServerPath": "/path/to/carbon-lang/bazel-bin/toolchain/language_server/language_server"
}
七、项目结构 #
7.1 标准项目结构 #
text
my_carbon_project/
├── WORKSPACE # Bazel工作空间配置
├── BUILD # 构建配置
├── .carbon-format # 格式化配置
├── src/
│ ├── main.carbon # 主程序
│ └── lib.carbon # 库文件
└── tests/
└── main_test.carbon
7.2 WORKSPACE文件 #
python
# WORKSPACE
workspace(name = "my_carbon_project")
# 添加Carbon依赖
local_repository(
name = "carbon",
path = "/path/to/carbon-lang",
)
7.3 BUILD文件 #
python
# BUILD
load("@carbon//toolchain:rules.bzl", "carbon_binary")
carbon_binary(
name = "hello",
srcs = ["src/main.carbon"],
)
八、常见问题 #
8.1 编译内存不足 #
bash
# 限制Bazel内存使用
bazel build //toolchain:carbon --jobs=2 --local_ram_resources=4096
8.2 LLVM版本问题 #
bash
# 检查LLVM版本
llvm-config --version
# 需要LLVM 17或更高版本
8.3 Bazel缓存问题 #
bash
# 清理Bazel缓存
bazel clean --expunge
# 重新构建
bazel build //toolchain:carbon
8.4 网络问题 #
bash
# 配置代理
export HTTP_PROXY=http://proxy:port
export HTTPS_PROXY=http://proxy:port
# 或配置Bazel代理
bazel build //toolchain:carbon --proxy=http://proxy:port
九、Docker环境 #
9.1 使用Docker镜像 #
dockerfile
# Dockerfile
FROM ubuntu:22.04
RUN apt update && apt install -y \
git \
python3 \
python3-pip \
curl \
wget \
build-essential \
llvm \
clang \
lld
# 安装Bazel
RUN wget https://github.com/bazelbuild/bazel/releases/download/6.4.0/bazel-6.4.0-installer-linux-x86_64.sh && \
chmod +x bazel-6.4.0-installer-linux-x86_64.sh && \
./bazel-6.4.0-installer-linux-x86_64.sh --user
# 克隆Carbon
RUN git clone https://github.com/carbon-language/carbon-lang /carbon-lang
WORKDIR /carbon-lang
CMD ["/bin/bash"]
9.2 构建和运行 #
bash
# 构建镜像
docker build -t carbon-dev .
# 运行容器
docker run -it carbon-dev
# 在容器中编译
bazel build //toolchain:carbon
十、更新Carbon #
10.1 更新源码 #
bash
cd carbon-lang
# 拉取最新代码
git pull origin main
# 更新子模块
git submodule update --init --recursive
10.2 重新编译 #
bash
# 清理旧构建
bazel clean
# 重新构建
bazel build //toolchain:carbon
十一、总结 #
本章我们学习了:
- 系统要求:Linux、macOS、Windows(WSL)
- 依赖安装:Bazel、LLVM、Clang
- 源码编译:克隆、构建、测试
- 开发工具:VS Code、格式化、LSP
- 项目结构:WORKSPACE、BUILD配置
- 常见问题:内存、版本、网络问题
安装完成后,让我们开始编写第一个Carbon程序!
最后更新:2026-03-27