Claude Code 安装与配置完整指南(Mac)

Claude Code 安装与配置完整指南(Mac)
本教程仅适用于MacBook电脑,Windows不支持。

一、环境准备

1.1 检查 Node.js 环境

在终端中输入以下命令,检查 Node.js 是否已安装:

npm list -g--depth=0

预期结果:

  • 显示已安装的全局包列表(如下图所示)
  • 或者显示空列表(这也是正常的)
Node.js 检查结果

如果提示"命令未找到":

说明你的系统还没有安装 Node.js,请按照以下步骤操作:

  1. 访问 Node.js 安装教程
  2. 根据教程完成 Node.js 的安装
  3. 安装完成后,重新执行上述检查命令
  4. 如果不再提示错误,说明安装成功

二、安装 Claude Code

2.1 执行安装命令

在终端中运行以下命令:

npm i -g @anthropic-ai/claude-code@latest 

2.2 处理权限问题

如果遇到 “permission denied” 权限错误,请使用管理员权限安装:

sudonpm i -g @anthropic-ai/claude-code@latest 

系统会提示你输入开机密码,输入后即可继续安装。


三、验证安装

3.1 测试安装状态

⚠️ 重要提示: 这一步骤必须执行!首次运行 claude 命令后,系统会在用户目录下自动生成配置文件夹,这是后续配置的基础。

在终端中输入:

claude 

成功标志:

  • 出现如下图所示的界面
  • 或显示选项让你进行选择
安装成功界面

3.2 解决首次运行错误

首次安装时,可能会遇到类似下图的错误提示:

首次运行错误


在这里插入图片描述

解决方法:

执行以下命令完成初始化配置:

jq '. + {"hasCompletedOnboarding": true}' ~/.claude.json > /tmp/tmp.json &&mv /tmp/tmp.json ~/.claude.json 

四、配置 Claude Code

4.1 打开配置目录

操作步骤:

  1. 在 Finder(访达)中按下快捷键:Command + Shift + G
  2. 按下回车键,进入配置目录

在弹出的对话框中输入以下路径:

~/.claude 
打开配置目录
配置目录内容

4.2 创建配置文件

如果目录中不存在 settings.json 文件,请手动创建一个。

📝 说明:settings.json 是 Claude Code 的主要配置文件,用于设置 API 中转地址、密钥以及其他高级选项(如 hooks、plugins 等)。

4.3 编辑配置内容

将以下内容复制并粘贴到 settings.json 文件中:

{"env":{"ANTHROPIC_AUTH_TOKEN":"你的令牌","ANTHROPIC_BASE_URL":"https://api.zhangsan.cool","ANTHROPIC_DEFAULT_HAIKU_MODEL":"claude-sonnet-4-5-20250929","ANTHROPIC_DEFAULT_OPUS_MODEL":"claude-sonnet-4-5-20250929","ANTHROPIC_DEFAULT_SONNET_MODEL":"claude-sonnet-4-5-20250929","ANTHROPIC_MODEL":"claude-sonnet-4-5-20250929"},"includeCoAuthoredBy":false}
配置文件示例

4.4 获取 API 令牌

操作步骤:

  1. 访问 令牌创建页面(需要先注册)
  2. 创建一个新的令牌
  3. 复制生成的令牌
  4. 替换 settings.json 文件中的 "你的令牌" 部分
创建令牌

五、测试配置

5.1 启动 Claude Code

在终端中输入以下命令:

claude 

5.2 验证功能

配置成功的标志:

  • 出现对话界面
  • 能够正常与 Claude 进行对话
  • 收到 Claude 的正常回复
配置成功界面

六、Claude Code 常用命令

6.1 基础命令

1.启动 Claude Code

claude 

启动交互式对话界面,与 Claude 进行实时对话。


2.使用特定模型

claude --model claude-sonnet-4-5-20250929 "你的问题"

指定使用特定的 Claude 模型进行对话。


3.读取文件内容

claude --file /path/to/file.txt "分析这个文件"# 或 claude -f /path/to/file.txt "分析这个文件"

将文件内容发送给 Claude 进行分析或处理。


4.处理多个文件

claude -f file1.py -f file2.py "帮我优化这些代码"

同时处理多个文件。


  1. 开始新会话
claude --new# 或 claude -n

创建一个全新的对话会话,清除之前的上下文。


6.查看会话历史

claude --history

查看所有保存的对话会话记录。

  1. 删除会话历史
claude --clear-history 

清除所有保存的会话历史记录。


6.2 实用快捷命令

1.代码审查

claude -f main.py "帮我审查这段代码,找出潜在问题"

2.代码重构

claude -f old_code.js "帮我重构这段代码,提高可读性"
  1. 生成文档
claude -f app.py "为这个文件生成详细的API文档"

4.调试协助

claude -f buggy_code.py "这段代码报错了,帮我找出问题"

5.单元测试生成

claude -f function.py "为这个函数生成完整的单元测试"

6.3 交互模式快捷键

当进入 claude 交互模式后,可以使用以下快捷键:

快捷键功能
Ctrl + C中断当前响应
Ctrl + D退出 Claude Code
/ 浏览命令历史
Tab自动补全(如果支持)

6.4 命令组合示例

1.分析项目代码

claude -f src/*.py "分析这个项目的代码结构并给出优化建议"

2.生成并执行代码

claude --code-execution "写一个计算斐波那契数列的Python脚本并运行"

3.多文件对比

claude -f version1.js -f version2.js "对比这两个版本的差异"

4.日常开发工作流

# 1. 启动新会话 claude --new# 2. 分析需求 claude "我需要实现一个用户登录功能,请帮我规划代码结构"# 3. 生成代码 claude "根据刚才的规划,帮我生成Python Flask的登录代码"# 4. 代码审查 claude -f login.py "审查这段代码的安全性"# 5. 生成测试 claude -f login.py "为这个登录功能生成单元测试"

使用技巧

💡 提示 1:善用上下文

在交互模式中,Claude 会记住对话上下文,可以进行连续的代码迭代和优化。

💡 提示 2:明确指令

给 Claude 明确、具体的指令能获得更好的结果。例如:

  • ✅ “用Python写一个冒泡排序,要求添加详细注释”
  • ❌ “写个排序”

💡 提示 3:分步骤处理复杂任务

对于复杂的编程任务,可以分成多个步骤,逐步完成:

  1. 先让 Claude 设计架构
  2. 再逐个模块生成代码
  3. 最后进行整合和测试

💡 提示 4:利用文件输入

直接使用 -f 参数读取文件,比复制粘贴代码更高效。

Read more

【C++】平衡树优化实战:如何手搓一棵查找更快的 AVL 树?

【C++】平衡树优化实战:如何手搓一棵查找更快的 AVL 树?

🎬 个人主页:MSTcheng · ZEEKLOG 🌱 代码仓库 :MSTcheng · Gitee 🔥 精选专栏: 《C语言》 《数据结构》 《C++由浅入深》 💬座右铭:路虽远行则将至,事虽难做则必成! 前言:前两篇文章我们已经向大家介绍了map和set这两个容器,他们的底层都是平衡二叉搜索树,而今天我们就来介绍一种平衡二叉搜索树——AVL树。 文章目录 * 一、AVL树的认识 * 1.1AVL树的概念 * 二、AVL树的实现 * 2.1AVL树的基本框架 * 2.2AVL树的插入 * 2.3AVL树的中序遍历 * 2.4AVL树其他功能实现 * 三、总结 一、AVL树的认识 1.1AVL树的概念 AVL树是由G. M. Adelson-Velsky和E. M. Landis两个前苏联的科学家所发明的,它的具体定义如下: * AVL树是最先发明的自平衡⼆叉查找树,AVL是⼀颗空树,

By Ne0inhk
【Linux/C++多进程篇(二) 】万字解析从“传纸条”到“建仓库”:一文读懂linux系统编程之进程间通信 (IPC)

【Linux/C++多进程篇(二) 】万字解析从“传纸条”到“建仓库”:一文读懂linux系统编程之进程间通信 (IPC)

⭐️在这个怀疑的年代,我们依然需要信仰。 个人主页:YYYing. ⭐️Linux/C++进阶系列专栏:【从零开始的linux/c++进阶编程】 系列上期内容:【Linux/C++多进程篇(一) 】C/C++ 程序中神奇的“分身术” 系列下期内容:【Linux/C++多线程篇(一) 】多线程编程入门 目录 前言: 进程间通信(IPC) 一、进程间通信的基础概念 二、内核提供的通信方式 2.1、无名管道  📖 无名管道的API  📖 代码案例 2.2、有名管道  📖 有名管道的API  📖 代码案例 2.3、管道特点 2.4、信号  📖 信号相关概念

By Ne0inhk

震惊!C++中这个逻辑运算符的坑,90%程序员都踩过!

今天我要分享一个C++开发中常见的逻辑陷阱,以及如何优雅地处理多个容器的非空检查。这不仅是一个语法问题,更是一种编程思维的体现。 🎯 问题背景 在实际开发中,我们经常需要检查多个容器是否都为空,或者是否有任意一个非空。比如在图形处理、数值计算等场景,我们需要确保多个数据源都已经准备就绪。 原始需求是这样的:我们有一个车辆轨迹曲线的容器 GwheelCurve,需要检查它是否为空,并将结果取反: bool success =!GwheelCurve.empty(); 但现在需求升级了!我们需要同时检查5个不同的数据容器,只要任意一个非空,就认为检查失败(success = false)。 💡 核心思想 这个问题看似简单,但隐藏着几个关键点: 1. 逻辑运算符的选择:应该用 && 还是用 ||? 2. 取反的时机:是先各自判断再组合,还是先组合再整体取反? 3. 可读性和性能的平衡 让我用几个完整的代码示例来详细说明。 📊 示例1:错误的直观写法 #include<iostream>#include&

By Ne0inhk
Elasticsearch + Kibana 实战指南:从安装部署到 C++ 客户端封装,解锁搜索引擎开发核心技能

Elasticsearch + Kibana 实战指南:从安装部署到 C++ 客户端封装,解锁搜索引擎开发核心技能

文章目录 * 本篇摘要 * 一.ES 介绍及简单使用 * 1·介绍 * 2.安装过程 * 检测是否安转成功 * 对应配置文件修改 * 3.ES核心知识概念 * **1. 索引(Index-->库)** * **2. 文档(Document)** * **3. 字段(Field)** * **4. 类型(Type-->类似表)**(7.x后已废弃) * **5. 映射(Mapping)** * 4.kibana介绍 * **Kibana 是什么?** * **Kibana 和 Elasticsearch 的关系** * 5.安装Kibana过程 * 6.kibana-es使用 * 7.es-client使用及封装使用接口 * es接口 * 1.

By Ne0inhk