ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Ubuntu 系统 Claude Code 安装教程(DeepSeek API 配置,100% 可行,避坑指南)

Ubuntu 系统 Claude Code 安装教程(DeepSeek API 配置,100% 可行,避坑指南) 1. Ubuntu 上跑 Claude Code为什么总卡在第一步如果你在 Ubuntu 上搜 Claude Code 安装大概率会看到两种结果一种是官方文档里轻描淡写的npm install另一种是评论区里成片的command not found、EACCES、Unable to connect。我前后在三台 Ubuntu 机器上装过20.04、22.04、24.04 都试了真正让人卡住的从来不是安装命令本身而是三件事Node 版本太旧、npm 全局目录权限不对、以及默认接口在国内网络下连不上。Claude Code 本质是一个跑在终端里的 AI 编码代理它能读你当前目录的文件、生成代码、执行命令、改 bug。适合谁适合习惯在终端里干活、又想让 AI 直接操作项目文件的开发者。它不是一个网页聊天框而是一个能“动手”的助手。但它的默认后端是 Anthropic 的服务国内直连基本没戏所以这篇的核心思路是用 TaoToken 的统一 Key/API 通道把请求接过去模型侧走 DeepSeek API全程不需要任何网络工具。下面这套流程我在 Ubuntu 22.04 上完整跑通过命令可以直接复制。你只需要准备好一个 TaoToken 的 API Key剩下的按顺序执行即可。整个过程分四块环境准备、TaoToken 接入、配置落地、验证排障。我会把每一步的“为什么”也讲清楚这样你遇到变体问题时能自己判断。2. 前置准备Node.js、npm 与 TaoToken Key2.1 确认系统与 Node 版本先看系统版本和现有 Nodelsb_release -a node -v npm -vClaude Code 要求 Node.js v18 以上实测 v20、v22 都稳。如果你的node -v显示 v12 或 v14别犹豫直接升级。Ubuntu 自带的 apt 源里 Node 版本通常偏旧用 Node 官方的版本管理工具n最省事。sudo npm install -g n sudo n stable hash -r node -v npm -vhash -r这步很多人忽略。升级 Node 后终端还在用旧的路径缓存导致你明明装了新版本node -v还是旧的或者claude命令找不到。执行一次hash -r刷新缓存问题就没了。2.2 修复 npm 全局权限Ubuntu 下直接用npm install -g装全局包十有八九报EACCES: permission denied。原因是 npm 默认往/usr/local/lib/node_modules写普通用户没权限。网上有些方案让你用sudo npm install -g但这会带来后续一堆权限混乱。更干净的做法是把 npm 全局目录的归属改到你当前用户sudo chown -R $USER:$USER /usr/local/lib/node_modules sudo chown -R $USER:$USER /usr/local/bin sudo chown -R $USER:$USER /usr/local/share改完之后以后所有npm install -g都不需要 sudo也不会再报权限错。这一步是一次性的做完终身受益。2.3 拿到 TaoToken 的 API KeyTaoToken 在这里的角色是统一入口你不需要分别去对接各家模型而是用同一个 Key 和同一个 Base URL通过它的通道把请求转发到 DeepSeek。先去官网注册并创建 Key官网地址https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content登录后进入控制台在 API Keys 页面创建一个新 Key复制保存。这个 Key 只在创建时显示一次丢了就得重建。创建入口在这里API Keys 页面https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite注意Key 的格式通常是一串以特定前缀开头的字符串复制时别带空格。后面配置里会用到它先放在手边。3. 安装 Claude Code 并接入 TaoToken 通道3.1 全局安装 Claude Code包名是anthropic-ai/claude-code但启动命令是claude这两个不一样很多人在这里搞混。npm install -g anthropic-ai/claude-code如果安装过程中卡住或报错先确认 Node 版本够新再重试。实在不行加--forcenpm install -g anthropic-ai/claude-code --force装完刷新一下hash -r claude -v能打印出版本号比如 v2.x.x就说明二进制已经就位。如果提示command not found检查/usr/local/bin是否在 PATH 里echo $PATH没有的话补进去echo export PATH$PATH:/usr/local/bin ~/.bashrc source ~/.bashrc3.2 理解配置的两种方式环境变量 vs settings.jsonClaude Code 读取配置有两个来源环境变量和settings.json。环境变量适合临时测试settings.json适合长期固定。我建议两者结合用settings.json存稳定的 Base URL 和模型名用环境变量存 Key避免 Key 写进文件被误提交。settings.json的位置有两个选择全局的~/.claude/settings.json或者项目级的.claude/settings.json。全局的对所有项目生效项目级的只对当前目录生效。先建全局的mkdir -p ~/.claude3.3 写入 settings.json 骨架用你顺手的编辑器打开~/.claude/settings.json写入下面这个骨架。注意 JSON 不支持注释下面注释只是为了说明实际文件里不要带//{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_MODEL: deepseek-chat, API_TIMEOUT_MS: 60000 } }这里ANTHROPIC_BASE_URL指向 TaoToken 的 API 地址ANTHROPIC_MODEL指定走 DeepSeek 的对话模型。API_TIMEOUT_MS给到 60 秒避免长响应被提前掐断。注意Base URL 用https://taotoken.net/api不要在后面多加斜杠或路径Claude Code 会自己拼接端点。3.4 用环境变量注入 KeyKey 不写进 JSON改用环境变量。编辑~/.bashrcecho export ANTHROPIC_AUTH_TOKEN你的TaoToken Key ~/.bashrc source ~/.bashrc把你的TaoToken Key替换成第 2.3 步复制的真实 Key。这样每次开终端都会自动加载Claude Code 启动时就能读到。如果你更希望把 Key 也放进settings.json可以在env里加一行ANTHROPIC_AUTH_TOKEN: 你的Key但要注意这个文件别提交到 git。两种方式选一种即可不要重复设置否则容易混淆。4. 验证请求从启动到第一次成功对话4.1 建一个干净的测试目录别在系统目录或重要项目里试新建一个空目录mkdir -p ~/test-claude cd ~/test-claude4.2 启动并确认配置生效claude首次启动会问几个问题主题选择默认 Dark mode回车即可、是否信任当前目录选 Yes。信任之后进入交互界面出现❯输入框就说明启动成功。在输入框里敲一句简单的需求比如帮我写一个 Python 的 Hello World保存为 hello.py如果配置正确它会生成代码并提示是否写入文件。确认后用ls看目录里是否多了hello.py。这一步能跑通说明从 Ubuntu 到 TaoToken 再到 DeepSeek 的整条链路是通的。4.3 用 curl 单独验证通道如果 Claude Code 里报连接错误先用 curl 直接打 TaoToken 的接口把问题范围缩小到“是网络/Key 问题”还是“是 Claude Code 配置问题”curl -s https://taotoken.net/api/v1/messages \ -H Content-Type: application/json \ -H x-api-key: $ANTHROPIC_AUTH_TOKEN \ -H anthropic-version: 2023-06-01 \ -d { model: deepseek-chat, max_tokens: 64, messages: [{role: user, content: ping}] }如果返回里带正常的 JSON 内容说明 Key 和通道都没问题问题出在 Claude Code 的配置读取上。如果返回 401就是 Key 不对返回超时就是网络或 Base URL 写错。4.4 确认模型名与通道匹配不同通道支持的模型名可能不同。DeepSeek 的对话模型常用deepseek-chat如果你在 TaoToken 控制台看到的是别的命名以控制台文档为准。模型名写错通常会返回“model not found”之类的错误改settings.json里的ANTHROPIC_MODEL即可。想快速验证某个模型名是否可用可以直接用模型对话页面测一下模型对话https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentchatutm_campaignrewrite5. 本篇常见报错逐条排查5.1 claude: command not found最常见。先hash -r再claude -v。还不行就检查/usr/local/bin在不在 PATH按 3.1 的方法补。另一个隐藏原因是 npm 全局 bin 目录不是/usr/local/bin用npm config get prefix看一下实际前缀把对应的 bin 目录加进 PATH。5.2 EACCES: permission denied说明 2.2 的权限修复没做或没做全。重新执行那三条chown注意把$USER换成你的实际用户名whoami可以确认。改完npm install -g不需要 sudo。5.3 Unable to connect to Anthropic services这个报错说明 Claude Code 在尝试连默认的 Anthropic 地址也就是你的ANTHROPIC_BASE_URL没生效。检查三处settings.json里的env块是否写对、~/.bashrc是否 source 过、当前终端是否是新开的。改完配置后一定要source ~/.bashrc或重开终端。5.4 401 / invalid api keyKey 错了或没读到。先echo $ANTHROPIC_AUTH_TOKEN看变量是否为空。如果为空说明~/.bashrc没生效如果有值但报 401去 TaoToken 控制台确认 Key 是否被删或过期必要时重建一个。5.5 响应超时或中途断开把API_TIMEOUT_MS调大比如120000。另外确认 Base URL 没有多余路径。如果用的是项目级settings.json注意它会覆盖全局配置检查项目目录下有没有.claude/settings.json在捣乱。5.6 误入 nano 退不出来配置时如果用了nano又不会退按Ctrl X提示保存时按N不保存或按Y再回车保存。建议改用vim或直接echo追加避免卡在编辑器里。6. 长期编码与 Agent 场景的接入建议如果你只是偶尔用 Claude Code 写点小脚本上面的配置足够了。但如果你打算把它当成日常编码代理频繁跑长任务、多轮改代码建议关注 TaoToken 的 Coding Plan它在长会话和 Agent 场景下的额度与稳定性更适合持续使用Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite接入文档里有各语言 SDK 和端点说明遇到通道层面的细节问题可以对照查接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite控制台可以随时查看用量和 Key 状态控制台https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite如果你用的是 Claude Code 的 Anthropic 兼容模式专门的说明页在这里Claude Code Anthropichttps://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaude_code_anthropicutm_campaignrewrite最后提醒一句settings.json里别把 Key 写死并提交到仓库用环境变量最稳。配置改完记得source ~/.bashrc然后claude -v确认版本再进测试目录跑一次 Hello World。整条链路通了之后后面就是纯用的事了。
返回列表