写这篇文章的原因是,我按照网上一些已有教程操作在服务器上没法成功安装 Claude code,问题出在自己下载 Nodejs 的包并调用 npm 时会出现以下报错:

1
/usr/bin/env: node: No such file or directory

亦或者是:

1
2
3
node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)

究其原因可能是我的一些环境配置过于紊乱导致出现冲突,固有此文。

解决方案

整体的解决方案其实很简单,首先用 mamba/conda 安装一个只有 nodejs 的纯净环境

1
2
conda create -n node_env -c conda-forge nodejs=18 # 或换为 mamba
conda activate node_env

随后尝试运行 npm -v,如果成功打印相关信息,则使用 npm 安装 Claude code:

1
npm install -g @anthropic-ai/claude-code

如果依然存在报错(例如上述的 version 'GLIBC_2.25' not found),则检查当前调用的 npm 是否属于该环境:

1
which npm

理想条件下应该输出位于 conda 环境下的路径:

1
~/mambaforge/envs/node_env/bin/npm

如果不是,检查该 npm 所在路径,并将该路径从环境变量中移除,如此反复直到调用的 npm 为 conda 环境中的 npm。

解决后就可以使用 claude 命令开始愉悦的 Claude code 旅程了:

这里已经配置好相关参数所以是 DeepSeek-V4

后续如果想要在其他环境中也可以调用 Claude,可以把当前的 Claude 文件(可通过 which claude 获得)添加到任意环境路径下,这样就可以随时随地调用了。

相关配置

如果你也打算使用 DeepSeek API,可以根据以下流程进行配置:

  1. 运行 mkdir -p ~/.claude 创建目录。
  2. 运行 touch ~/.claude/settings.json 创建配置文件。
  3. 在配置文件中填入以下内容(ANTHROPIC_AUTH_TOKEN 改为自己的 API key):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "xxx",
"ANTHROPIC_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_EFFORT_LEVEL": "max",
"CLAUDE_CODE_ATTRIBUTION_HEADER": "false"
},
"effortLevel": "high"
}

这里 CLAUDE_CODE_ATTRIBUTION_HEADER 之前有人说如果不设置 false 会导致 Claude code 向 API 发送请求时添加头信息,这个头信息会导致第三方模型经常认为这个请求属于一个新的 ”session“ 从而导致缓存失效(命中缓存的价格是未命中缓存价格的百分之一)。所以以防万一可以添加一下。