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语法高亮扩展:

  1. 打开VS Code
  2. 进入扩展市场
  3. 搜索 “Carbon Language”
  4. 安装官方扩展

配置 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

十一、总结 #

本章我们学习了:

  1. 系统要求:Linux、macOS、Windows(WSL)
  2. 依赖安装:Bazel、LLVM、Clang
  3. 源码编译:克隆、构建、测试
  4. 开发工具:VS Code、格式化、LSP
  5. 项目结构:WORKSPACE、BUILD配置
  6. 常见问题:内存、版本、网络问题

安装完成后,让我们开始编写第一个Carbon程序!

最后更新:2026-03-27