【開発日記】新PCへの開発環境の引っ越しで、手順書どおりに行かなかった5つ

【開発日記】新PCへの開発環境の引っ越しで、手順書どおりに行かなかった5つ

とむ

とむ

中古のデスクトップPCへ開発環境を引っ越す作業の続きをしました。前日に旧PCを棚卸しして手順書を作っておき、今日はその手順書に沿って、WSL2 と Docker から Node・Python・Rust、各 CLI のログイン、Claude Code、Hermes Agent まで最後まで通しました。

手順書どおりに進まなかったところが5つあり、いちばん大きかったのは Hermes Agent のデータの置き場所を取り違えていたことでした。

今日やったこと

  • WSL2 の更新と Docker の動作確認(WSL2 バックエンドで hello-world まで)
  • Node.js と npm のグローバルパッケージ8件、pnpm の初期設定
  • Python 3.14 と uv、よく使う pip パッケージ21件
  • Rust と tauri-cli
  • wrangler・Supabase・Neon・Stripe など各 CLI のログイン
  • Claude Code を npm 版からネイティブ版へ切り替え
  • Hermes Agent の入れ直しと、旧PCからのデータの引っ越し
  • Chrome と Antigravity CLI の追加
  • 最後に19項目のバージョン確認

詰まったところと、どう解いたか

1つ目は npm です。npm 11.20 では、パッケージの install スクリプトが既定で実行されません。wrangler や esbuild、pnpm はこのスクリプトで実行ファイルを取ってくるので、インストールは成功したように見えるのに動かない、という状態になりました。警告に出た名前を確かめてから、必要な分だけ --allow-scripts で1回だけ許可して入れ直しました。常に許可する設定にはしていません。

npm i -g --allow-scripts=pnpm,esbuild,workerd wrangler pnpm

2つ目は Python です。Python install manager を入れておいたところ、いつの間にか 3.15 が入り、それが既定になっていました。手順書では 3.14 を既定にする予定だったので、3.14 を入れたうえで、環境変数 PYTHON_MANAGER_DEFAULT で 3.14 に固定しました。

3つ目は Visual Studio Build Tools です。winget で入れただけでは「C++ によるデスクトップ開発」のワークロードが入っておらず、リンカ(link.exe)がありませんでした。Rust の MSVC 向けビルドにはこれが要るので、ワークロードを追加してから tauri-cli をビルドし、5分52秒で通りました。

4つ目は Chrome です。winget の MSI 版は、ダウンロードしたインストーラーのハッシュが一致せずに失敗しました。ハッシュの検証を外せば入りますが、それはせず、同じく winget にある Google 公式のオンラインインストーラー版(Google.Chrome.EXE)で入れました。こちらは検証が通り、署名も Google LLC で有効でした。

5つ目、いちばん大きかったのが Hermes Agent です。旧PCから ~/.hermes を運んでいたのですが、中を見るとファイルの日付が9月14日で止まっていて、10月に変えた設定も、プロファイルや cron、会話履歴のデータベースも入っていませんでした。README を確認すると、Windows ネイティブ版はコードもデータも %LOCALAPPDATA%\hermes に置く作りでした。棚卸しのときに、Claude がこのフォルダを「本体だから入れ直せばいい」と判断して、運ばない側に入れていたのが原因です。

このフォルダは約7.2GBありますが、大半はコード本体・同梱ツール・キャッシュで、インストールし直せば作られます。それらを除いたデータだけを robocopy でコピーすると 1,159 ファイル・87MB で、旧PCで取った SHA256 の一覧と新PCで1件ずつ照合して、すべて一致しました。コピーの前には旧PCのゲートウェイを止め、自動起動も無効にしました。同じボットで2台が動くと、メッセージに二重に返信してしまうためです。

Hermes Agent のフォルダ約7.2GBのうち、新PCへ運ぶ必要があったデータは87MB・1,159ファイルだけだったことを示す棒グラフ。

新PCのセットアップで手順書どおりに行かなかった5つと、それぞれの対処をまとめた表。

気づき

手順書どおりに運んでも、手順書を作ったときの判断が間違っていれば、そのまま間違ったものが運ばれます。Hermes の件は、運んだフォルダの日付を見て初めて気づきました。データを移したあとは、中身が新しいかどうかを日付や件数で確かめる必要がある、というのが今回の教訓です。

もう1つは、Claude Code の自動モードの安全チェックです。ネットから取ってきたインストールスクリプトを Claude が実行しようとすると、中身を読んで確認したあとのファイルでも止められました。そこで、Claude がスクリプトの中身を読んで、どこに何を置くかを確かめ、実行は自分のターミナルで行う、という分担にしました。

最後に19項目のバージョン確認がすべて通ったので、つまずいた点を手順書に書き足して、引っ越しはひと区切りです。

次にやること

  • 各リポジトリの依存パッケージは、使うときに入れる
  • GitHub に登録してある旧PCの SSH 鍵を削除するか決める
  • 移行用の手順書リポジトリを GitHub でアーカイブする

あなたも記事の投稿・販売を
始めてみませんか?

Tipsなら簡単に記事を販売できます!
登録無料で始められます!

Tipsなら、無料ですぐに記事の販売をはじめることができます Tipsの詳細はこちら
 

この記事の販売者

とむ

とむの開発日記 開発はClaudeCode、SNSもClaudeCode、基本ClaudeCode ClaudeCodeとHermesAgentの2刀流でいきたいけど、今の割合は9:1ぐらい🌝   投稿はClaudeCodeでのセッションが終わったあとに、MCP経由でやってもらってます。

この販売者が書いた他の記事

  • 【開発日記】workers-auth 1.1.0:期限切れセッションの削除を応答の後ろへ(クラウドで実装→手元で確認)

  • 【開発日記】3社AI比較ツールのモデル更新と、静的アセット化で踏んだexportの罠

  • 【開発日記】AIエージェントの「過去の作業の記憶」が浅かったので作り直した

関連のおすすめ記事

  • Gmailの定型連絡を「送信せず」まとめて下書き化する|Gmail下書きテンプレGAS Pro

    ¥2,980
    1 %獲得
    (29 円相当)
    ツールおじ|GoogleアカウントをAIエージェント化

    ツールおじ|GoogleアカウントをAIエージェント化

  • USBメモリで持ち運べるLinux Mint 22.1と永続的な書き込み領域の作成法【Rufus だけで作成する方法を初心者向けに徹底解説】

    ¥500
    1 %獲得
    (5 円相当)
    SmartSenior

    SmartSenior

  • 個人クリエイター公開準備チェックGAS Pro

    ¥2,980
    1 %獲得
    (29 円相当)
    ツールおじ|GoogleアカウントをAIエージェント化

    ツールおじ|GoogleアカウントをAIエージェント化