自定义容器工具链
区分预构建镜像与源码 BUILD_SANDBOX,避免 npm 安装环境中的无效构建。
This page has not been translated into English yet. The original Chinese version is shown below.
容器缺少语言运行时或工具时,可以准备自己的镜像,再通过 --sandbox-image 或 tools.sandboxImage 选择。默认镜像不会预装所有开发环境,用户沙箱文档明确指出不包含 Java。
BUILD_SANDBOX 的限制
用户沙箱页给出 BUILD_SANDBOX=1 命令,但开发者专章明确:npm 发布包不带 scripts/build_sandbox.js,安装包环境不能使用该源码构建入口。仅添加 Dockerfile 并不满足条件。
要沿用官方源码构建流程,需要 Qwen Code 源码、安装其依赖并构建,再从 packages/cli 执行 npm link。该操作会替换全局 qwen 的指向,必须先确认 which qwen 指向源码版本,而不是仅比较版本字符串。
项目文件
在自己的项目根目录创建 .qwen/sandbox.Dockerfile,基于当前可用的官方镜像版本添加工具。官方镜像地址为 ghcr.io/qwenlm/qwen-code;生产使用应明确所选 tag,不将文档示例的旧 hash 当作最新版本。
已完成源码构建和链接后,官方提供:
QWEN_SANDBOX=docker BUILD_SANDBOX=1 qwen -s这是在自己的项目根目录触发项目镜像构建。也可通过 .qwen/sandbox.bashrc 定制容器环境;更多脚本行为以官方开发者专章为准。
回到发布版
源码工作结束后,可解除全局链接:
npm unlink -g @qwen-code/qwen-code如需 npm 发布版,再安装对应包并检查 which qwen 与 qwen --version。已有独立安装器或其他路径时,解除链接后能解析到什么取决于 PATH,不保证一定显示 command not found。
本文命令用于说明官方流程;镜像构建、全局链接和依赖安装都需要在自己的目标环境执行。