Claude Code说不能离线用?我偏不信
公司不让连外网,但你又想用Claude Code?别急着放弃。这篇讲我怎么在断网环境下跑起来的,以及过程中踩过的坑。
为什么需要离线安装
很多公司的开发环境是内网隔离的。代码不能上传云端,网络不能访问外网。
但你又想用Claude Code辅助编程。
听起来矛盾对吧?但现实就是这样:你需要AI帮你写代码,但你的代码不能上传到任何地方。
我的环境
- 系统:Windows 11
- 网络:完全离线(不能访问任何外网)
- 目标:在断网环境下使用Claude Code
坑1:依赖包不全,装完就报错
我一开始以为:下载Claude Code的安装包就行了。
结果呢?安装完之后运行报错——“找不到模块”。
我当时一脸懵:我明明装了啊,怎么还报错?
后来发现:只下载了主包,没下载依赖。 Claude Code依赖很多npm包,光下载主包不够。
于是在有网的环境重新把所有依赖都打包了:
mkdir claude-offline && cd claude-offline
npm pack @anthropic-ai/claude-code
npm pack @anthropic-ai/sdk
npm pack @anthropic-ai/bedrock-sdk
然后拷贝到U盘,才搞定。
坑2:Node.js版本不对,白装了
装好之后又报错:“Unsupported Node.js version”。
我当时心态崩了:装了半天,版本不对?
查了一下,Claude Code需要Node.js 20+,我装的是18。
教训: 装之前先查版本要求,别装完了才发现不对。
坑3:API代理配置,试了三种才成功
内网不能直接访问Claude API,需要配代理。
但我一开始不知道怎么配。试了好几种方式:
方式1:环境变量
export ANTHROPIC_BASE_URL=http://your-proxy-server:8080
export ANTHROPIC_API_KEY=your-api-key
方式2:.env文件
ANTHROPIC_BASE_URL=http://your-proxy-server:8080
ANTHROPIC_API_KEY=your-api-key
方式3:配置文件
{
"api_base_url": "http://your-proxy-server:8080",
"api_key": "your-api-key"
}
我试了三种,最后发现方式2最稳定。方式1有时候环境变量会被覆盖,方式3配置文件格式经常出错。
坑4:代理服务器不稳定,用着用着就断了
配好之后,Claude Code能连上了。但用着用着就断了。
后来查了一下,是代理服务器的连接池满了,或者超时时间太短。在代理服务器上调整了一下连接池大小和超时时间,才稳定下来。
最终方案
Step 1:在有网的环境准备
# 1. 下载Node.js 20+(.msi安装包)
# 2. 下载Claude Code和所有依赖
npm pack @anthropic-ai/claude-code
npm pack @anthropic-ai/sdk
npm pack @anthropic-ai/bedrock-sdk
# 3. 拷贝到U盘
Step 2:在内网环境安装
# 1. 安装Node.js(运行.msi)
# 2. 安装Claude Code
npm install -g ./anthropic-ai-claude-code-*.tgz
# 3. 安装依赖
npm install -g ./anthropic-ai-sdk-*.tgz
Step 3:配置代理
# 在.env文件中配置
ANTHROPIC_BASE_URL=http://your-proxy-server:8080
ANTHROPIC_API_KEY=your-api-key
Step 4:验证
claude --version
claude "hello"
和在线版的区别
| 维度 | 在线版 | 离线版 |
|---|---|---|
| 网络要求 | 需要访问外网 | 完全离线 |
| 代码上传 | 会上传到Anthropic | 不上传,本地处理 |
| 响应速度 | 取决于网络 | 取决于代理服务器 |
| 功能 | 完整 | 完整(通过代理) |
核心区别: 代码不会上传到Anthropic服务器。通过代理转发,代码只在你的内网流转。
局限性
- 需要有代理服务器
- 代理服务器需要有人维护
- 不能用Claude的最新功能(需要等离线包更新)
作者:糖纸999
更多推荐



所有评论(0)