(ch02)= # 第2章 インストールと初期設定 本章では、Claude Code を使い始めるところまでを順に進めます。 まず必要なツールをそろえ(2.1)、OS ごとに Claude Code を入れます(2.2)。 そのあと、初回の起動と認証を済ませ(2.3)、設定の置き場所とコストの考え方を確認します(2.4、2.5)。 本章の手順とコマンドは、執筆時点の動作に基づきます。 インストール方法やコマンドは変わることがあるため、最新の手順は公式のドキュメントで確かめてください。 本章の画面は、Linux(Ubuntu)で操作した記録に基づいています。 ```{figure} /_static/ch02/ch02-overview.jpeg :name: fig-ch02-overview :alt: 第2章の概要。2.1 事前準備、2.2OS 別インストール、2.3 初回起動と認証、2.4 設定とディレクトリ構成、2.5 コストの考え方という流れ :width: 100% 図2-1 本章の概要 ``` ## 2.1 事前準備 ### 2.1.1 Git のインストールと確認 Claude Code はバージョン管理を前提に使います。 変更を安全に進めるため、作業の前に Git が入っているかを確認します。 入っていない場合は、お使いの OS のパッケージ管理から導入します。 ```shell $ git --version # 入っていない場合(Ubuntu の例) $ sudo apt update $ sudo apt install git ``` `sudo apt update` は、手元にあるパッケージ一覧を最新にする操作です。 これを省くと、一覧が古いままのときに「そんなパッケージは無い」と言われたり、すでに差し替わった版を取りに行って失敗したりします。 入れる前に一度だけ実行しておけば十分です。 ```{note} `sudo apt upgrade` のほうは、本書の手順では必要ありません。 これは入っているパッケージ全部を最新版に上げる操作で、時間がかかり、設定ファイルの扱いを聞かれたり、カーネルが入れ替わって再起動が要ったりすることがあります。 Claude Code を動かすのに必要なものではないので、本書では実行しません。 普段使っている機械なら、別の機会にまとめてやるほうが安全です。 ``` Git を使う理由は、Claude Code に作業を任せる前後で変更を記録し、いつでも元に戻せるようにするためです。 詳しい安全の話は第3章と第19章で扱います。 ここでは、Git が使える状態になっていれば十分です。 ### 2.1.2 Node.js の確認 Web アプリの開発や、一部のツールでは Node.js を使います。 入っているかどうかは、次のコマンドで確認できます。 ```shell $ node -v ``` 入っていない場合や、古い版が入っている場合は、入れ直します。 ディストリビューションの標準のパッケージは版が古いことが多く、本書の後半で使うツールが動きません。 公式の配布元から、26 系を入れます。 ```shell # Ubuntu の例 $ curl -fsSL https://deb.nodesource.com/setup_26.x | sudo -E bash - $ sudo apt-get install -y nodejs $ node -v v26.8.2 ``` Claude Code そのものは、後述のインストーラが必要な実行環境を含めて入れてくれます。 そのため、Claude Code を動かすためだけなら Node.js は必須ではありません。 ただ、入れておくことを勧めます。 理由は 2 つあります。 一つは、**Claude Code 自身が、書いたコードを確かめるのに使う**からです。 第4章 4.2.2 で見るとおり、Node.js があるかどうかで、Claude がどこまで自分で検証するかが変わります。 もう一つは、第4部で使う gstack が、ブラウザを動かす部分で新しい Node.js を必要とするからです。 古い版のままだと、画面を確かめる系のスキルがまとめて使えなくなります。 詳しくは第11章 11.1.1 で扱います。 ## 2.2 OS 別インストール Claude Code は、公式のインストーラを使って導入できます。 ここでは、本書の記録をとった Linux を中心に、macOS と Windows の入れ方の概略を示します。 ### 2.2.1 macOS macOS では、ターミナルから次のインストーラを実行します。 ```shell $ curl -fsSL https://claude.ai/install.sh | bash ``` 導入後、`claude` というコマンドが使えるようになります。 コマンドが見つからない場合は、2.2.3 と同じく PATH の設定を確認してください。 ### 2.2.2 Windows Windows では、WSL(Windows Subsystem for Linux)の上で Linux と同じ手順を使う方法が手軽です。 WSL を有効にしたうえで、2.2.3 の手順に従ってください。 Windows ネイティブでの導入方法は変わりやすいため、最新の手順は公式のドキュメントで確かめてください。 ### 2.2.3 Linux Linux では、公式のインストーラを実行します。 ```shell $ curl -fsSL https://claude.ai/install.sh | bash ``` 2.1.1 でパッケージ一覧を更新していない場合は、先に `sudo apt update` を実行してください。 インストーラが終わると、導入されたバージョンと実行ファイルの場所が表示されます。 今回の記録では、`~/.local/bin/claude` に入りました。 このとき、`~/.local/bin` が PATH に入っていないと、`claude` コマンドが見つかりません。 表示される案内に従って、PATH に追加します。 ```shell $ echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc ``` これで `claude` コマンドが使えるようになります。 ## 2.3 初回起動と認証 ### 2.3.1 ログインと認証フロー 導入できたら、`claude` を実行して最初の起動を確認します。 ```shell $ claude ``` 最初に、画面の配色を選びます。 端末の見た目に合わせて選んでください。 あとから `/theme` で変えられるので、迷ったらそのまま Enter で構いません。 ```{figure} /_static/ch02/ch02-01.jpeg :alt: claude を実行した直後の、配色を選ぶ画面 :width: 100% 図2-2 `claude` を実行した直後。まず配色を選ぶ ``` 配色を決めると、ログイン方法を尋ねられます。 ここでは 1 を選びます。 1 は、Claude のサブスクリプション(Pro や Max のプラン)でログインする方法です。 すでにプランを契約していれば、認証を済ませるだけで Claude Code を使い始められます。 2 は、API の利用枠(従量課金)でログインする方法です。 本書はサブスクリプションでの利用を前提にするため、ここでは 1 を選びます。 料金の仕組みは、このあとのコラムで簡単に補足します。 ```{figure} /_static/ch02/ch02-02.jpeg :alt: ログイン方法を尋ねられている画面 :width: 100% 図2-3 配色を決めると、ログイン方法を尋ねられる ``` 1 を選ぶと、認証用の URL が表示されます。 ブラウザが自動で開くこともありますが、開かないときは `c` を押して URL をコピーし、自分でブラウザに貼り付けます。 ```{figure} /_static/ch02/ch02-03.jpeg :alt: 認証用の URL が表示された画面 :width: 100% 図2-4 1 を選ぶと、認証用の URL が表示される ``` ブラウザで開くと、Claude Code にアカウントへの接続を許してよいかを尋ねる画面が出ます。 何に使われるのかが箇条書きで並ぶので、目を通してから「承認する」を押します。 ```{figure} /_static/ch02/ch02-04.jpeg :alt: Claude Code への接続を承認するかを尋ねるブラウザの画面 :width: 100% 図2-5 ブラウザで開いた認可の画面 ``` 承認すると、認証コードが表示されます。 これをコピーして、ターミナルに戻って貼り付け、Enter を押します。 ```{figure} /_static/ch02/ch02-05.jpeg :alt: 承認後に認証コードが表示されたブラウザの画面 :width: 100% 図2-6 承認すると、認証コードが表示される ``` ```{note} ブラウザが自動で開いた場合は、承認したあとに「準備が整いました」とだけ出て、 コードの貼り付けは要りません。ターミナル側で認証が終わっているためです。 コードが表示されるのは、URL を自分でブラウザに渡したときです。 ``` コードを貼り付けると認証が終わり、注意書きが表示されます。 Claude は間違えることがあること、信頼できるコードにだけ使うこと。 この二点は、第19章でもう一度扱います。 ```{figure} /_static/ch02/ch02-06.jpeg :alt: 認証が終わり、注意書きが表示された画面 :width: 100% 図2-7 認証が終わると、注意書きが出る ``` ターミナルで Enter を押すと、この作業フォルダを信頼してよいかを尋ねられます。 ```{figure} /_static/ch02/ch02-07.jpeg :alt: 作業フォルダを信頼してよいかを尋ねられている画面 :width: 100% 図2-8 Enter のあと、作業フォルダの確認を尋ねられる ``` ここでは「Yes, I trust this folder」を選びます。 初期状態では「No, exit」のほうに印が付いているので、そのまま Enter を押すと Claude Code は終了します。 下矢印キーで「Yes, I trust this folder」に移してから Enter を押してください。 この確認は、読み書きと実行の対象になるフォルダを、使う側が明示的に認めるためのものです。 自分で作ったフォルダや、素性のわかっているプロジェクトでだけ信頼してください。 ```{note} この確認画面は版によって変わります。 少し前の版では選択肢に番号が付いていて、「Yes」のほうが上にありました。 番号や並び順ではなく、「信頼する」と書かれているほうを選ぶ、と覚えておくのが安全です。 ``` ```{figure} /_static/ch02/ch02-08.jpeg :alt: フォルダを信頼したあと、Claude Code が入力待ちになった画面 :width: 100% 図2-9 信頼を認めると、Claude Code が入力待ちになる ``` これで認証は完了し、Claude Code を使う準備が整いました。 ```{admonition} コラム:Claude Code の料金の仕組み :class: note Claude Code を使うときの料金には、大きく 2 通りの考え方があります。 一つは、Claude のサブスクリプション(Pro や Max のプラン)で使う方法です。 月ごとの定額で、プランに応じた利用枠の範囲で使えます。 もう一つは、API の利用(従量課金)で使う方法です。 使った分だけ課金される仕組みで、たくさん使うほど費用が増えます。 本書は、サブスクリプションでの利用を前提に進めます。 そのため、認証では 1(サブスクリプションでのログイン)を選びました。 定額のプランなら、使うたびの費用を気にせず手を動かせるという利点があります。 プランの名称や金額、利用枠は変わることがあります。 最新の料金は、公式のページで確かめてください。 ``` ### 2.3.2 最初の対話を試す 準備ができたら、ためしに話しかけてみます。 まず、作業用のディレクトリを作ります。 ```shell $ mkdir hello && cd hello ``` 中身が空のままでは説明することがないので、ためしに種類の違うファイルをいくつか置いておきます。 ここでは、説明用の `README.md`、小さな Python スクリプト `main.py`、表データの `data.csv` の 3 つを作ります。 同じ結果を手元でも試せるように、中身もそのまま載せておきます。 `README.md` は、このフォルダが何なのかを書いた説明書きです。 ```markdown # hello Claude Code の動きを確かめるための練習用フォルダです。 種類の違うファイルを3つ置いてあります。 ``` `main.py` は、あいさつを出力するだけの短いプログラムです。 第3章でこのファイルに手を入れるので、あいさつは英語のままにしておきます。 ```python def main(): print("Hello, world!") if __name__ == "__main__": main() ``` `data.csv` は、名前と役割を並べただけの表データです。 ```text name,role 田中,リーダー 佐藤,開発 鈴木,デザイン ``` 3 つを置いたら、このフォルダで `claude` を起動します。 ```shell $ claude ``` 起動したら、たとえば次のような短い指示を送ってみます。 ```text このフォルダにあるファイルを一覧して、それぞれが何のファイルかを簡単に説明してください。 ``` すると、Claude Code はフォルダの中を自分で読み取り、それぞれが何なのかを説明して返します(図2-10)。 ```{figure} /_static/ch02/ch02-09.jpeg :alt: hello フォルダの 3 つのファイルを一覧して説明した Claude Code の応答画面 :width: 100% 図2-10 最初の対話。フォルダの中を自分で読んで説明が返る ``` このときの応答は、こういう内容でした。 ```text /home/h3/hello にはファイルが3つあります(Git リポジトリではありません)。 README.md フォルダの説明。「Claude Code の動きを確かめるための練習用 フォルダ」で、種類の違うファイルを3つ置いてある、と書かれています。 data.csv 2列(name,role)のCSV。データ行は3件 (田中=リーダー、佐藤=開発、鈴木=デザイン)。 main.py Python スクリプト。main() が Hello, world! を表示するだけの 内容で、if __name__ == "__main__" から呼ばれます。 要するに、Markdown・CSV・Python の3種類を並べた動作確認用のサンプルフォルダです。 ``` ```{note} 同じファイルを置いても、返ってくる文面は毎回同じにはなりません。 表で返すこともあれば、箇条書きで返すこともあります。 頼んでいない「隠しファイルもサブディレクトリもない」という 1 行が付くかどうかも、そのときによります。 確かめたいのは文面の一致ではなく、**こちらがファイルを見せていないのに中身を読んで答えている**という点です。 実行のたびに応答がぶれることは、第4章 4.2.2 でもう一度扱います。 ``` 返事が返ってくれば、対話はできています。 このとき Claude Code は、こちらがファイルを開いて見せなくても、自分でフォルダの中を読みにいきます。 これが、第1章で見たコードベースを理解するという動きの、いちばん小さな例です。 途中でファイルへのアクセスやコマンドの実行を求められたら、その意味を確かめてから許可します。 許可の扱いは第3章で詳しく見ます。 ### 2.3.3 正常に動いているかの確認 正常に動いていれば、話しかけた内容に対して応答が返ります。 バージョンを確かめたいときは、次のコマンドでも確認できます。 ```shell $ claude --version 2.1.195 (Claude Code) ``` 表示されるバージョンは執筆時点のもので、手元ではもっと新しい番号になっていることがあります。 バージョンが表示され、対話で応答が返れば、ここまでの準備は問題ありません。 うまくいかないときに多いのは、コマンドそのものが見つからない場合です。 `claude` が見つからないと、次のように表示されます。 ```shell $ claude --version claude: command not found ``` これは、PATH の設定が済んでいないときに起きます。 2.2 のインストール手順で示した PATH の追加を、もう一度確認してください。 PATH を通し直すと、`claude` コマンドが見つかるようになります。 ## 2.4 設定とディレクトリ構成 Claude Code の設定がどこに置かれるかを、先に押さえておきます。 置き場所がわかっていると、あとで CLAUDE.md やスキルを足すとき、どこに何を置けばよいかで迷わずに済みます。 ### 2.4.1 ~/.claude/ の役割 Claude Code は、ユーザー単位の設定を `~/.claude/` に置きます。 ここには、全プロジェクトに共通する設定ファイルや、行動規範をまとめた CLAUDE.md、追加したスキルなどが入ります。 たとえば第7章で扱う CLAUDE.md は `~/.claude/CLAUDE.md` に、第11章で導入する gstack は `~/.claude/skills/gstack` に置かれます。 どのプロジェクトで作業していても、ここに置いたものは共通して効きます。 このディレクトリを見れば、全体に効く設定がどこにあるかがひと目でわかります。 ### 2.4.2 プロジェクト単位とユーザー単位の設定 設定には、全プロジェクトに効くユーザー単位のものと、特定のプロジェクトだけに効くものがあります。 ユーザー単位の設定は `~/.claude/` に、プロジェクト単位の設定はそのプロジェクトの中の `.claude/` に置かれます(図2-11)。 たとえば、あるプロジェクトでだけ許可した操作は、そのプロジェクトの `.claude/` に記録され、ほかのプロジェクトには影響しません。 逆に、どのプロジェクトでも守ってほしい方針は、ユーザー単位の `~/.claude/` に置きます。 この 2 つの層を分けて考えると、どの設定がどこまで効くのかを見失わずに済みます。 ```{figure} /_static/ch02/ch02-10.svg :alt: 設定の 2 層構造を示す図。ユーザー単位の ~/.claude/(全プロジェクトに共通、設定ファイル、CLAUDE.md、skills)と、プロジェクト単位の .claude/(そのプロジェクトだけに効く、許可の記録など)が積み重なる :width: 100% 図2-11 ユーザー単位とプロジェクト単位の設定の 2 層 ``` ### 2.4.3 モデル選択 Claude Code は、用途に応じてモデルを選べます。 深い検討が必要な作業では能力の高いモデルを、決まりきった軽い作業では軽量なモデルを、というように使い分けます。 軽いモデルは応答が速く、費用も抑えられます。 込み入った設計判断では能力の高いモデルが向くなど、作業の重さに合わせて選ぶのが基本です。 モデルの名称は執筆時点のもので、変わることがあります。 選べるモデルと切り替え方は、`/model` コマンドで確かめてください。 モデルの選択は、次のコストの話とも関わります。 ## 2.5 コストの考え方 ### 2.5.1 何にコストがかかるか Claude Code は、やり取りした文章の量に応じてコストがかかります。 送ったプロンプトや読み込んだファイル、返ってきた応答の量が多いほど、コストは増えます。 使うモデルによっても、かかり方は変わります。 コストは、一回のやり取りだけで決まるわけではありません。 Claude Code は応答するたびに、それまでの会話や読み込んだファイルも含めて、もう一度まとめて読み直します。 そのため、長い文脈を抱えたまま作業を続けると、一つ一つのやり取りがだんだん重くなっていきます(図2-12)。 ```{figure} /_static/ch02/ch02-11.svg :alt: 文脈とコストの関係を示す図。やり取りを重ねるほど、これまでの会話や読み込んだファイルが文脈として積み上がり、応答のたびにその全体を読み直すためコストが増える。小さく区切ると文脈が軽く保たれコストが抑えられる :width: 100% 図2-12 文脈が大きいほど、毎回のやり取りのコストが増える ``` ### 2.5.2 使用量の確認 どれくらい使ったかは、`/cost` のような確認用のコマンドで見られます。 作業の合間に使用量を確認しておくと、想定より増えていないかを、その場で把握できます。 特に、長い作業を続けているときや、たくさんのファイルを読み込ませたときは、一度見ておくと安心です。 確認用のコマンド名は変わることがあるため、最新のものは公式のドキュメントで確かめてください。 ### 2.5.3 無駄を抑える基本姿勢 コストを抑える基本は、文脈を必要な分だけに保つことです。 関係のないファイルを大量に読み込ませない、作業を小さく区切る、話題が変わったら一度区切る、といった姿勢が効いてきます。 文脈を軽く保つと、毎回読み直す量が減るので、コストが下がります。 それだけでなく、一度に扱う範囲が狭くなるぶん、出てきた変更も確かめやすくなります。 コストと確認のしやすさは、文脈を小さく保つという一つの姿勢でつながっています。 作業の進め方そのものは、次章で詳しく見ていきます。