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

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

Linux 安装 Claude Code

有些工作放在Linux服务器上处理更顺手:看日志、改配置、排查线上问题,或者直接在项目目录里让AI帮忙读代码。

Claude Code和OpenCode都能完成这些事。我个人更习惯Claude Code的终端界面,所以把这次在Linux服务器上的安装过程整理下来。

先说明一下:Claude Code官方目前更推荐原生安装器;本文使用npm,是因为服务器已经有Node.js环境,而且部分网络环境访问官方安装脚本并不稳定。两种方式都能用,按自己的服务器情况选择即可。

整体安装路线

Claude Code Linux 安装流程

先选安装方式

官方原生安装器

服务器能够正常访问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

检查 Node.js 和 npm 版本

我的环境是:

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

通过 npm 安装 Claude Code

安装完成后,不要急着配置模型,先确认命令是否正常:

bash
复制代码
claude --version command -v claude

查看 Claude Code 版本和命令路径

截图中返回:

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 的配置关系

配置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_URLAnthropic兼容接口地址
ANTHROPIC_DEFAULT_HAIKU_MODELClaude Code请求Haiku角色时使用的模型
ANTHROPIC_DEFAULT_SONNET_MODELClaude Code请求Sonnet角色时使用的模型
ANTHROPIC_DEFAULT_OPUS_MODELClaude Code请求Opus角色时使用的模型
API_TIMEOUT_MSAPI请求超时时间

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会询问是否信任当前项目。

Claude Code 首次进入项目时的信任提示

只有确认代码来源可信时,才选择:

text
复制代码
Yes, I trust this folder

因为Claude Code获得授权后,可以读取、修改并执行这个目录里的文件。

进入主界面后,会看到当前模型、项目路径和输入框:

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设置。

参考资料

安装本身并不难。真正容易出错的,是Node.js版本、命令路径和第三方API配置被混在一起。按步骤逐项验证,哪一步不通就查哪一步,比反复卸载重装省事得多。

欢迎关注我的公众号【兮动人】,每天分享一些技术文章和实战经验。

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
兮动人
下载 APP