避坑指南:在 Linux 上安全安装 Claude Code CLI
最近想体验 Anthropic 官方的命令行工具 claude-code,结果在安装过程中踩了两个典型的坑。如果你也在 Linux 上遇到了 Region Unavailable 或 EACCES permission denied 错误,这篇博客能帮你快速解决。
❌ 第一坑:官方脚本被地区限制拦截
按照官网文档,
https://code.claude.com/docs/en/quickstart
第一步通常是运行:
bash
curl -fsSL https://claude.ai/install.sh | bash
结果报错:
报错里面含有 App unavailable in region
bash: line 1: syntax error near unexpected token `<'
bash: line 1: `<!DOCTYPE html><!-- Last Published: Wed Mar 18 2026 22:03:54 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="websitemain.claude.com" data-wf-page="68bd5cf2687bfe3893fd2b7f" data-wf-site="6889473510b50328dbb70ae6" data-wf-intellimize-customer-id="117902971" lang="en-US"><head><meta charset="utf-8"/><title>App unavailable in region | Claude</title><link rel="alternate" hrefLang="x-default" href="https://claude.com/app-unavailable-in-region"/><link rel="alternate" hrefLang="en-US" href="https://claude.com/app-unavailable-in-region"/><link rel="alternate" hrefLang="ja-JP" href="https://claude.com/ja-jp/app-unavailable-in-region"/><link rel="alternate" hrefLang="de-DE" href="https://claude.com/de-de/app-unavailable-in-region"/><link rel="alternate" hrefLang="fr-FR" href="https://claude.com/fr-fr/app-unavailable-in-region"/><link rel="alternate" hrefLang="ko-KR" href="https://claude.com/ko-kr/app-unavailable-in-region"/><meta content="Unfortunately, Claude isn't available here." name="description"/><meta content="App unavailable in region | Claude" property="og:title"/><meta content="Unfortunately, Claude isn't available here." property="og:description"/><meta content="https://cdn.prod.website-files.com/6889473510b50328dbb70ae6/68c469d23594abeb9ab6ee48_og-claude-generic.jpg" property="og:image"/><meta content="App unavailable in region | Claude" property="twitter:title"/><meta content="Unfortunately, Claude isn't available here." property="twitter:description"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="tPMMBQMBzgZlNmCBal5cMPAx3nhO2iyM4rT9nxuRcdk" name="google-site-verification"/><link href="https://cdn.prod.website-files.com/6889473510b50328dbb70ae6/css/claude-brand.shared.e1c3addac.min.css" rel="stylesheet" type="text/css" integrity="sha384-4cOt2sOCB8umzY27E8CaMtj5IHLMtcRrdxJWvOpV3Q6MjS2oKhU131waB+p1gTXi" crossorigin="anonymous"/><script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script><link href="https://cdn.prod.website-files.com/6889473510b50328dbb70ae6/689f4a9aff1f63fde75cf733_favicon.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/6889473510b50328dbb70ae6/68c33859cc6cd903686c66a2_apple-touch-icon.png" rel="apple-touch-icon"/><link href="https://claude.com/app-unavailable-in-region" rel="canonical"/><style>.anti-flicker, .anti-flicker * {visibility: hidden !important; opacity: 0 !important;}</style><style>[data-wf-hidden-variation], [data-wf-hidden-variation] * {'
curl: (23) Failure writing output to destination
原因分析:
在国内网络环境下,直接访问该脚本会被 Anthropic 服务器拦截,返回一个"此区域不可用"的 HTML 页面,而不是 Shell 脚本。Bash 试图执行 HTML 代码,自然语法报错。
✅ 解决方案:改用 npm 安装
绕过下载脚本,直接通过 Node.js 包管理器安装:
bash
npm install -g @anthropic-ai/claude-code
(提示:如果下载慢,可先切换淘宝镜像:npm config set registry https://registry.npmmirror.com)
❌ 第二坑:权限不足 (EACCES)
运行 npm 命令后,新的错误出现了:
text
npm ERR! code EACCES
npm ERR! syscall mkdir
npm ERR! path /usr/local/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied...
原因分析:
默认情况下,npm 试图将全局包安装到系统目录 /usr/local/lib/node_modules。普通用户没有写入该目录的权限。
⚠️ 常见误区:不要直接用 sudo
这个教程
https://github.com/claude-code-chinese/claude-code-guide
不建议加 sudo 说有安全风险:
bash
sudo npm install -g ... # 不推荐!
✅ 最佳实践:配置用户级全局路径
我们将 npm 的全局安装目录修改为用户自己的目录,既安全又无需 sudo。
🛠️ 操作步骤
1. 创建专属目录
bash
mkdir -p ~/.npm-global
2. 配置 npm 使用该目录
bash
npm config set prefix '~/.npm-global'
3. 添加环境变量
编辑你的 shell 配置文件(~/.bashrc 或 ~/.zshrc):
bash
nano ~/.bashrc # 或者 nano ~/.zshrc
在文件末尾添加一行,将新目录加入 PATH:
bash
export PATH="$HOME/.npm-global/bin:$PATH"
保存退出(Ctrl+O, Enter, Ctrl+X)。
4. 刷新配置
bash
source ~/.bashrc # 或者 source ~/.zshrc
5. 重新安装(无需 sudo)
bash
npm install -g @anthropic-ai/claude-code
🎉 验证与额外配置
安装完成后,输入以下命令验证:
bash
claude --version
如果显示版本号,恭喜安装成功!