Linux 安装 Claude Code 实战:Node.js、npm、GLM 配置一次跑通
Linux 安装 Claude Code 实战:Node.js、npm、GLM 配置一次跑通

有些工作放在Linux服务器上处理更顺手:看日志、改配置、排查线上问题,或者直接在项目目录里让AI帮忙读代码。
Claude Code和OpenCode都能完成这些事。我个人更习惯Claude Code的终端界面,所以把这次在Linux服务器上的安装过程整理下来。
先说明一下:Claude Code官方目前更推荐原生安装器;本文使用npm,是因为服务器已经有Node.js环境,而且部分网络环境访问官方安装脚本并不稳定。两种方式都能用,按自己的服务器情况选择即可。
整体安装路线

先选安装方式
官方原生安装器
服务器能够正常访问Claude官方地址时,可以直接运行:
▼bash复制代码curl -fsSL https://claude.ai/install.sh | bash
原生安装不依赖Node.js,步骤也更短。首次安装Claude Code,优先考虑这种方式。
npm全局安装
如果服务器已经装好Node.js,或者官方安装脚本受网络环境影响,也可以使用npm:
▼bash复制代码npm install -g @anthropic-ai/claude-code@latest
Claude Code官方文档在“高级安装选项 → 使用 npm 安装”中写明:从 v2.1.198 开始,npm包需要Node.js 22或更高版本。
不过官方紧接着补充:使用较旧的Node.js时,npm通常只会提示 EBADENGINE,安装仍可能完成,claude 也可能正常运行,因为npm包最终下载的是不依赖Node.js运行时的原生二进制文件。
所以更准确地说,Node.js 22+是当前npm包声明的安装要求,并不代表Node.js 18下一定无法启动。为了避免安装警告和后续兼容问题,本文仍建议直接使用Node.js 22或更高版本。
官方依据:https://code.claude.com/docs/zh-CN/setup#install-with-npm
本文后面的步骤使用npm方式。
检查Node.js和npm
先执行:
▼bash复制代码node -v npm -v npm config get prefix

我的环境是:
▼text复制代码Node.js:v24.16.0 npm:11.17.0
这个版本可以直接安装。
如果Node.js低于22,安装时可能出现 EBADENGINE 警告。程序未必不能运行,但新装环境没有必要停留在旧版本,建议先通过服务器面板、nvm或系统包管理器切换到Node.js 22或更高版本。
npm config get prefix 会告诉你全局包安装到哪里。使用Node项目管理器时,路径可能类似:
▼text复制代码/www/server/nodejs/v24.16.0
使用nvm、系统Node.js或其他面板时,路径会不一样,不需要照抄。
安装Claude Code
执行:
▼bash复制代码npm install -g @anthropic-ai/claude-code@latest

安装完成后,不要急着配置模型,先确认命令是否正常:
▼bash复制代码claude --version command -v claude

截图中返回:
▼text复制代码2.1.218 (Claude Code) /www/server/nodejs/v24.16.0/bin/claude
这说明Claude Code已经装好,并且当前Shell能够找到 claude 命令。
claude命令为什么是一个软链接
npm全局安装命令行工具时,通常会在Node.js的 bin 目录创建入口。你输入 claude,系统先找到这个入口,再执行真正的程序文件。
可以用下面的命令查看最终位置:
▼bash复制代码readlink -f "$(command -v claude)"

真实路径会随着Node.js安装方式、版本和Claude Code版本变化。文章中的 /www/server/nodejs/v24.16.0 只是这台服务器的结果,不应该写死到脚本中。
想做更完整的安装检查,还可以运行:
▼bash复制代码claude doctor
官方账号和第三方API,配置方式不同
如果使用Anthropic官方账号,进入项目目录后直接执行 claude,按照终端提示登录即可,不需要下面这份GLM配置。
如果使用智谱Coding Plan或兼容Anthropic协议的GLM API,需要修改Claude Code的环境配置。

配置Claude Code接入GLM
先创建配置目录:
▼bash复制代码mkdir -p ~/.claude
然后编辑:
▼bash复制代码vim ~/.claude/settings.json
写入下面的配置,把 YOUR_API_KEY 换成自己的Key:
▼json复制代码{ "env": { "ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY", "ANTHROPIC_BASE_URL": "https://open.bigmodel.cn/api/anthropic", "ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.7", "ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-5.2[1m]", "ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-5.2[1m]", "CLAUDE_CODE_AUTO_COMPACT_WINDOW": "1000000", "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1, "API_TIMEOUT_MS": "3000000" } }
配置完成后,限制文件权限:
▼bash复制代码chmod 600 ~/.claude/settings.json
这几个字段可以这样理解:
| 配置项 | 作用 |
|---|---|
ANTHROPIC_AUTH_TOKEN | 智谱API Key |
ANTHROPIC_BASE_URL | Anthropic兼容接口地址 |
ANTHROPIC_DEFAULT_HAIKU_MODEL | Claude Code请求Haiku角色时使用的模型 |
ANTHROPIC_DEFAULT_SONNET_MODEL | Claude Code请求Sonnet角色时使用的模型 |
ANTHROPIC_DEFAULT_OPUS_MODEL | Claude Code请求Opus角色时使用的模型 |
API_TIMEOUT_MS | API请求超时时间 |
glm-5.2[1m] 中的 [1m] 表示该服务商提供的100万Token上下文版本。模型名属于服务商配置,不是Claude Code统一规定的格式。后续智谱调整模型名称时,要以它的官方文档为准。
API Key现在保存在当前Linux用户的配置目录中。不要把 settings.json 上传到Git仓库,也不要让其他用户拥有读取权限。
跳过第三方API场景下的首次登录
使用第三方Anthropic兼容接口时,如果启动后仍停留在首次登录流程,可以编辑:
▼bash复制代码vim ~/.claude.json
加入:
▼json复制代码{ "hasCompletedOnboarding": true }
如果 ~/.claude.json 已经存在,不要整份覆盖,只需要合并 hasCompletedOnboarding 字段。
启动Claude Code
先进入准备操作的项目目录:
▼bash复制代码cd /path/to/your/project claude
首次进入某个目录时,Claude Code会询问是否信任当前项目。

只有确认代码来源可信时,才选择:
▼text复制代码Yes, I trust this folder
因为Claude Code获得授权后,可以读取、修改并执行这个目录里的文件。
进入主界面后,会看到当前模型、项目路径和输入框:

截图中显示 glm-5.2[1m],说明模型映射已经生效。
验证安装是否成功
建议按下面的顺序检查:
▼bash复制代码# 查看版本 claude --version # 检查安装和配置 claude doctor # 查看当前命令入口 command -v claude # 解析软链接 readlink -f "$(command -v claude)" # 发起一次非交互测试,会产生少量模型费用 claude -p "只回复 OK"
前四条正常,只能说明程序安装和路径基本没有问题;最后一条能够正常返回,才说明API地址、Key和模型配置也已经打通。
常见问题
npm提示EBADENGINE
先看Node.js版本:
▼bash复制代码node -v
当前npm安装方式应使用Node.js 22或更高版本。切换版本后重新安装Claude Code。
安装成功,但提示claude命令不存在
检查npm全局目录和当前PATH:
▼bash复制代码npm config get prefix echo "$PATH"
临时加入PATH:
▼bash复制代码export PATH="$(npm config get prefix)/bin:$PATH"
确认有效后,再把这一行写入 ~/.bashrc 或 ~/.zshrc。
root用户能运行,普通用户不能运行
不同Linux用户有各自的 HOME、npm目录和Claude配置。使用root安装并配置后,普通用户不一定能直接使用。
安装、写入 ~/.claude/settings.json 和运行 claude,最好保持为同一个用户。
返回401或403
重点检查:
ANTHROPIC_AUTH_TOKEN是否正确。- Key是否拥有对应模型权限。
ANTHROPIC_BASE_URL是否写错。- 模型名称是否仍然有效。
请求超时
先确认服务器能否访问API地址:
▼bash复制代码curl -I https://open.bigmodel.cn
网络正常后,再检查 API_TIMEOUT_MS 和服务商状态。单纯反复重装Claude Code通常解决不了API超时。
界面中的模型和配置不一致
退出当前Claude Code会话,确认 settings.json 保存成功后重新启动。仍不一致时,检查是否在另一个Linux用户下运行。
更新和卸载
npm版本建议这样更新:
▼bash复制代码npm install -g @anthropic-ai/claude-code@latest
官方文档不建议使用 npm update -g,因为它可能受到原始版本范围影响,未必升级到最新版。
卸载命令:
▼bash复制代码npm uninstall -g @anthropic-ai/claude-code
如果不再使用原来的第三方API配置,再手动处理 ~/.claude/settings.json 和 ~/.claude.json。删除前先确认里面没有其他仍需保留的Claude Code设置。
参考资料
- Claude Code快速开始:https://code.claude.com/docs/zh-CN/quickstart
- Claude Code高级设置(npm安装):https://code.claude.com/docs/zh-CN/setup#install-with-npm
- 智谱Claude Code配置:https://docs.bigmodel.cn/cn/coding-plan/tool/claude
- Windows下安装Claude Code,使用API Key方式调用GLM:https://xdr630.blog.csdn.net/article/details/158777684
- Claude Code接入国产大模型实战:GLM / Qwen配置全解析:https://xdr630.blog.csdn.net/article/details/160308331
安装本身并不难。真正容易出错的,是Node.js版本、命令路径和第三方API配置被混在一起。按步骤逐项验证,哪一步不通就查哪一步,比反复卸载重装省事得多。
欢迎关注我的公众号【兮动人】,每天分享一些技术文章和实战经验。

