Claude Code 用に WSLをインストールするときのメモ

Claude Code の情報はここです

docs.anthropic.com



Windows マシンでは WSL が必要ということでインストール

wsl --install

wsl --install ubuntu

 

一台のマシンは以下のエラーになった。

Wsl/Service/CreateInstance/CreateVm/HCS_E_SERVICE_NOT_AVAILABLE

こちらを参考に。

github.com

タスクバーの検索窓から「Windows の機能」で検索してWindowsの機能(Windows Features)画面を呼び出す。
"Virtual Mashine Platform"は入っていたが、"Windows ハイパーバイザープラットフォーム" は項目自体がなかった。

ということで次は以下を参考に

qiita.com

Powershell を管理者モードで立ち上げて(検索窓から Windows Powershell を探して右クリック [管理者として実行])、

Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform

再起動 (Y) で再起動して、再度、[Windows の機能] で "Windows ハイパーバイザープラットフォーム" にチェックが入っていることを確認。

ふたたび、

wsl --install ubuntu

でインストールできました。

インストールするとまず管理者アカウントの作成を求められるので、作成してパスワードマネージャーでパスワード作成して忘れないように記録。

 

改めて Antropic の説明を読むと

  • ソフトウェア:
    • Node.js 18+
    • git 2.23+ (オプション)
    • PRワークフロー用のGitHubまたはGitLab CLI (オプション)
    • 拡張ファイル検索用のripgrep (rg) (オプション)

ということなので WSL上で node.js をインストールしていく

learn.microsoft.com

まず WSL 上に node がないことを確認。

> /mnt/c/Users/kawag$ node -v
node: command not found

 

まずは curl をインストール。

> /mnt/c/Users/kawag$ sudo apt-get install curl
[sudo] password for kawaguti:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
curl is already the newest version (8.5.0-2ubuntu10.6).
curl set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

>

次に、nvm

> curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 16631  100 16631    0     0  38898      0 --:--:-- --:--:-- --:--:-- 38948
=> Downloading nvm from git to '/home/kawaguti/.nvm'
=> Cloning into '/home/kawaguti/.nvm'...
remote: Enumerating objects: 382, done.
remote: Counting objects: 100% (382/382), done.
remote: Compressing objects: 100% (325/325), done.
remote: Total 382 (delta 43), reused 179 (delta 29), pack-reused 0 (from 0)
Receiving objects: 100% (382/382), 385.06 KiB | 24.07 MiB/s, done.
Resolving deltas: 100% (43/43), done.
* (HEAD detached at FETCH_HEAD)
  master
=> Compressing and cleaning up git repository

=> Appending nvm source string to /home/kawaguti/.bashrc
=> Appending bash_completion source string to /home/kawaguti/.bashrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

bashの設定が更新されたので読み込んでnvmのインストール確認

> source ~/.bashrc
>  nvm -v
0.40.3

現在インストールされているnodeのバージョン確認 (まだインストールしていないので、ないはず )

> nvm ls
            N/A
iojs -> N/A (default)
node -> stable (-> N/A) (default)
unstable -> N/A (default)
>

LTS (Long Time Supprt 長期サポート版) をインストール

> nvm install --lts
Installing latest LTS version.
Downloading and installing node v22.16.0...
Downloading https://nodejs.org/dist/v22.16.0/node-v22.16.0-linux-x64.tar.xz...
################################################################################################################# 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v22.16.0 (npm v10.9.2)
Creating default alias: default -> lts/* (-> v22.16.0)
>

再びインストールされたnodeバージョンを確認

> nvm ls
->     v22.16.0
default -> lts/* (-> v22.16.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v22.16.0) (default)
stable -> 22.16 (-> v22.16.0) (default)
lts/* -> lts/jod (-> v22.16.0)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.2 (-> N/A)
lts/hydrogen -> v18.20.8 (-> N/A)
lts/iron -> v20.19.2 (-> N/A)
lts/jod -> v22.16.0

コマンドラインから呼び出される node のバージョンも確認

> node --version
v22.16.0

他はオプショナルということなので後回しにして、早速 Claude Code をインストールしてみる

> npm config set os linux
> npm install -g @anthropic-ai/claude-code --force --no-os-check
npm warn using --force Recommended protections disabled.

added 3 packages in 4s

2 packages are looking for funding
  run `npm fund` for details

あ、これは問題があったときの手順でした。もう一度ちゃんと npm でインストールし直し

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

changed 3 packages in 1s

2 packages are looking for funding
  run `npm fund` for details

特に問題なさそうです。

> claude

なんか起動した!
CTRL+C CTRL+C (二回連打) で終了できるみたいです。

上記の画面でEnter を押すと次に

まずはアカウントログイン。

私は Claude Pro  のサブスクリプションに入っているので、そのまま Enter

この長いURLに入れということなので (途中割愛してます)、ブラウザURLにコピーしてアクセス。

ログインは済んでいそうなので「承認」を押す。

赤線部分をさきほどのコマンドラインにコピー

Paste code here if prompted > の後にコードをペースト

Login successful うまくいったみたい。Enter を押す。

起動したっぽい!

いま、homeディレクトリで起動したので、home に Claude が触っちゃうけど大丈夫?
ということで起動前に cd して別のディレクトリに入って始めるとよさそう。

一旦 ESCキーで抜けて、

mkdir claude
cd claude

とかかな。

以上、動くところまで行けた感じです。

だれかの参考になれば幸いです。

 

 

(補足) 次回起動するときは

 

Windows メニューに Ubuntu というのがいるので、これを起動すると、シェルが起動する。

シェル上でclaudeコマンドを入れる

> claude

そういえばディレクトリの指定をしてなかったので ESC で戻る

もう一度

> mkdir claude
> cd claude
> claude

 

このフォルダは空っぽなのでEnterして入る。

こんにちはこんにちは!

> "how does <filepath> work?"

ここを日本語に書き換えて質問してみる。

おっと Offline とな。ファイヤウォール設定ですかね

CTRL+C CTRL+C で Claude を抜けて、シェルから ping を打ってネットワークがつながっているかどうかを確認。つながっていそう

> ping google.com
PING google.com (142.250.199.110) 56(84) bytes of data.
64 bytes from nrt13s52-in-f14.1e100.net (142.250.199.110): icmp_seq=1 ttl=115 time=2.92 ms
64 bytes from nrt13s52-in-f14.1e100.net (142.250.199.110): icmp_seq=2 ttl=115 time=3.07 ms
64 bytes from nrt13s52-in-f14.1e100.net (142.250.199.110): icmp_seq=3 ttl=115 time=3.25 ms
64 bytes from nrt13s52-in-f14.1e100.net (142.250.199.110): icmp_seq=4 ttl=115 time=2.79 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 2.794/3.008/3.254/0.172 ms

そうなると、Claudeの方で、APIへの接続ができていなさそう。もう一度 claudeコマンド起動。

一回「こんにちは!」は通ったので、うーん、なんでしょう。

Windows Defender に引っ掛けられてるかな?

github.com

待っていると帰ってきたので単にサーバサイドが重いだけかも

しばらくこのまま様子見てみます。