前言
在Linux下准备安装使用Claude,类似于Windows上的配置步骤。
首先需要安装Nodejs和npm,然后执行Claude的安装。
使用 sudo apt-get install nodejs npm安装
然后安装Claude:
npm install -g @anthropic-ai/claude-code
结果并不太顺利,报错如下:
npm WARN deprecated claude@0.1.2: The official Claude Code package is available at @anthropic-ai/claude-code
npm WARN checkPermissions Missing write access to /usr/local/lib
npm WARN notsup Unsupported engine for @anthropic-ai/claude-code@2.0.69: wanted: {"node":">=18.0.0"} (current: {"node":"10.19.0","npm":"6.14.4"})
npm WARN notsup Not compatible with your version of node/npm: @anthropic-ai/claude-code@2.0.69
npm WARN notsup Unsupported engine for @img/sharp-linux-arm@0.33.5: wanted: {"node":"^18.17.0 || ^20.3.0 || >=21.0.0"} (current: {"node":"10.19.0","npm":"6.14.4"})
npm WARN notsup Not compatible with your version of node/npm: @img/sharp-linux-arm@0.33.5
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @img/sharp-linux-arm@^0.33.5 (node_modules/@anthropic-ai/claude-code/node_modules/@img/sharp-linux-arm):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @img/sharp-linux-arm@0.33.5: wanted {"os":"linux","arch":"arm"} (current: {"os":"linux","arch":"x64"})
npm WARN notsup Unsupported engine for @img/sharp-linux-arm64@0.33.5: wanted: {"node":"^18.17.0 || ^20.3.0 || >=21.0.0"} (current: {"node":"10.19.0","npm":"6.14.4"})
npm WARN notsup Not compatible with your version of node/npm: @img/sharp-linux-arm64@0.33.5
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @img/sharp-linux-arm64@^0.33.5 (node_modules/@anthropic-ai/claude-code/node_modules/@img/sharp-linux-arm64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @img/sharp-linux-arm64@0.33.5: wanted {"os":"linux","arch":"arm64"} (current: {"os":"linux","arch":"x64"})
npm WARN notsup Unsupported engine for @img/sharp-darwin-x64@0.33.5: wanted: {"node":"^18.17.0 || ^20.3.0 || >=21.0.0"} (current: {"node":"10.19.0","npm":"6.14.4"})
npm WARN notsup Not compatible with your version of node/npm: @img/sharp-darwin-x64@0.33.5
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @img/sharp-darwin-x64@^0.33.5 (node_modules/@anthropic-ai/claude-code/node_modules/@img/sharp-darwin-x64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @img/sharp-darwin-x64@0.33.5: wanted {"os":"darwin","arch":"x64"} (current: {"os":"linux","arch":"x64"})
npm WARN notsup Unsupported engine for @img/sharp-linuxmusl-arm64@0.33.5: wanted: {"node":"^18.17.0 || ^20.3.0 || >=21.0.0"} (current: {"node":"10.19.0","npm":"6.14.4"})
npm WARN notsup Not compatible with your version of node/npm: @img/sharp-linuxmusl-arm64@0.33.5
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @img/sharp-linuxmusl-arm64@^0.33.5 (node_modules/@anthropic-ai/claude-code/node_modules/@img/sharp-linuxmusl-arm64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @img/sharp-linuxmusl-arm64@0.33.5: wanted {"os":"linux","arch":"arm64"} (current: {"os":"linux","arch":"x64"})
npm WARN notsup Unsupported engine for @img/sharp-linux-x64@0.33.5: wanted: {"node":"^18.17.0 || ^20.3.0 || >=21.0.0"} (current: {"node":"10.19.0","npm":"6.14.4"})
npm WARN notsup Not compatible with your version of node/npm: @img/sharp-linux-x64@0.33.5
npm WARN notsup Unsupported engine for @img/sharp-linuxmusl-x64@0.33.5: wanted: {"node":"^18.17.0 || ^20.3.0 || >=21.0.0"} (current: {"node":"10.19.0","npm":"6.14.4"})
npm WARN notsup Not compatible with your version of node/npm: @img/sharp-linuxmusl-x64@0.33.5
npm WARN notsup Unsupported engine for @img/sharp-win32-x64@0.33.5: wanted: {"node":"^18.17.0 || ^20.3.0 || >=21.0.0"} (current: {"node":"10.19.0","npm":"6.14.4"})
npm WARN notsup Not compatible with your version of node/npm: @img/sharp-win32-x64@0.33.5
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @img/sharp-win32-x64@^0.33.5 (node_modules/@anthropic-ai/claude-code/node_modules/@img/sharp-win32-x64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @img/sharp-win32-x64@0.33.5: wanted {"os":"win32","arch":"x64"} (current: {"os":"linux","arch":"x64"})
npm WARN notsup Unsupported engine for @img/sharp-darwin-arm64@0.33.5: wanted: {"node":"^18.17.0 || ^20.3.0 || >=21.0.0"} (current: {"node":"10.19.0","npm":"6.14.4"})
npm WARN notsup Not compatible with your version of node/npm: @img/sharp-darwin-arm64@0.33.5
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @img/sharp-darwin-arm64@^0.33.5 (node_modules/@anthropic-ai/claude-code/node_modules/@img/sharp-darwin-arm64):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @img/sharp-darwin-arm64@0.33.5: wanted {"os":"darwin","arch":"arm64"} (current: {"os":"linux","arch":"x64"})
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib'
npm ERR! { [Error: EACCES: permission denied, access '/usr/local/lib']
npm ERR! stack:
npm ERR! 'Error: EACCES: permission denied, access \'/usr/local/lib\'',
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/local/lib' }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

问题原因
以上报错主要有两个:Node.js 版本过低和目录权限不足
- Node.js 版本过低:当前版本为 10.19.0,但 Claude Code 要求 >=18.0.0
- 系统目录权限不足:默认安装路径 /usr/local/lib需要 sudo权限才能写入
解决方案
步骤 1:安装 Node Version Manager (nvm)
nvm 是一个工具,可以让你在同一台机器上轻松安装、切换和管理多个 Node.js 版本。这是解决版本冲突的最佳方案。
通过以下命令安装 nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
安装完成后,重新启动终端 或执行 source ~/.bashrc(如果是 zsh 则执行 source ~/.zshrc)来加载 nvm。
步骤 2:使用 nvm 安装新版 Node.js
安装一个满足 Claude Code 要求的 Node.js 长期支持(LTS)版本,例如 v18 或 v20。
# 安装 Node.js 18 LTS
nvm install 18
# 安装后,立即使用该版本
nvm use 18
# 可以将其设置为默认版本,这样每次新开的终端都会自动使用它
nvm alias default 18
安装完成后,请验证版本是否正确:
node -v # 应该输出 v18.x.x 或更高
npm -v # 版本也会随之更新
步骤 3:配置 npm 全局安装路径
为了避免权限错误,最好的方法是将 npm 的全局包安装路径设置到当前用户拥有写权限的目录下,而不是系统级的 /usr/local/lib。
创建一个新的全局安装目录:
mkdir ~/.npm-global
配置 npm 使用此新路径:
npm config set prefix '~/.npm-global'
将新路径添加到系统的 PATH环境变量中,这样终端才能找到全局安装的命令。
编辑你的 shell 配置文件(如 ~/.bashrc或 ~/.zshrc),在文件末尾添加一行:
export PATH=~/.npm-global/bin:$PATH
让配置立即生效:
source ~/.bashrc # 如果使用 Zsh,则是 source ~/.zshrc
步骤 4:重新安装 Claude Code
现在环境已经配置正确,可以重新安装 Claude Code 了:
npm install -g @anthropic-ai/claude-code
这次安装应该能够顺利完成了。
步骤 5:验证安装
安装成功后,可以通过以下命令检查 claude命令是否可用:
claude --help
如果显示了帮助信息,恭喜你,安装成功!
💡 重要提醒
关于 nvm:如果你关闭终端后重新打开,发现 node命令找不到,请记得运行 nvm use 18来切换到你安装的版本。执行过 nvm alias default 18后则无需此操作。
一劳永逸:上述配置完成后,今后使用 npm install -g安装任何全局包都不会再遇到 EACCES权限错误了。