付録
詰まったとき辞書
エラー文の意味と、その直し方
エラーの文面は、たいてい英語です。でも、意味が分かってしまえば怖くありません。ここに出てくるものは、この教科書を作る過程で実際に僕が踏んだものが中心です。
この付録の使い方
- 詰まったら、まず画面に出ている英語をこのページで探す
- 無ければ、そのエラー文をそのままClaude Codeに貼って聞く
- 「何をしていて、何が起きて、何を期待していたか」を添えると、解決が早い
まず覚えてほしい、たった1つのこと
エラーが出たときにやるべきことは、その文面をコピーして、そのままAIに貼ることです。要約しないでください。省略もしないでください。人間には意味不明な英語でも、AIには十分な手がかりです。
詰まったときの万能プロンプト
次のエラーが出ました。原因を調べて、直してください。 (ここにエラー文をそのまま貼る) ・私がやろうとしていたこと:(例:画像をR2に保存しようとした) ・期待していた結果:(例:管理画面に画像が増える) ・実際に起きたこと:(例:成功と出るのに増えていない) 直したあと、なぜそうなっていたのかを、専門用語を使わずに説明してください。
公開・ログインまわり
エラー文と、その意味
- Not logged in / Authentication error
- Cloudflareへのログインが切れています。ログインし直せば直ります。しばらく使っていないと期限が切れることがあります。
- A worker with this name already exists
- 同じ名前のものが、すでにあなたのアカウントにあります。名前を変えるか、既存のものを上書きするかを選びます。
- command not found: node
- Node.jsが入っていません。エラーというより「まだ無い」という報告です。第4章に戻って入れてください。
- 404 Not Found(公開したのに)
- 公開したフォルダの中に
index.htmlが無いか、フォルダの指定がずれています。
R2まわり
エラー文と、その意味
- Resource location: local
- エラーではないのに、一番厄介なものです。本物のR2ではなく、パソコンの中の練習用の場所に保存されています。「本物のR2(リモート)に保存してください」と伝え直してください。
- TypeError: env.BUCKET is undefined
- Workerに「この倉庫を使っていい」という権限(binding)が渡っていません。設定ファイルを確認し、直したあとに公開し直す必要があります。
- A bucket with this name already exists
- そのバケット名は使用済みです。別の名前にして、設定ファイル側の名前も揃えてください。
- The specified key does not exist
- そのキーのファイルがありません。キーは1文字違うだけで別物です。一覧を出して見比べるのが確実です。
表示まわり
症状と、その意味
- 画像が表示されず、ダウンロードが始まる
- Content-Type(種類の札)が付いていません。保存時か、返すときのどちらかが抜けています。
- 直したのに、古い内容が表示され続ける
- キャッシュです。強制的に再読み込みするか、シークレットウィンドウで確認してください。それでも古い場合は、公開そのものができていない可能性があります。
- 日本語が「?」や記号に化ける
- 文字の種類の指定が抜けています。「文字コードの指定(UTF-8)を入れてください」と伝えれば直ります。
- パソコンでは見えるのに、スマホで見えない
- localhostのURLを見ている可能性があります。localhostは自分のパソコンの中だけのアドレスです。公開後のURLで確認してください。
どうしても分からないとき
3回試して直らなかったら、いったん手を止めて、こう頼んでください。
行き詰まったときのプロンプト
同じ問題が3回直りません。いったん切り分けたいです。 いまの状態を調べて、次を教えてください。 1. どこまでは正しく動いていて、どこから動いていないのか 2. 原因の候補を、可能性の高い順に3つ 3. それぞれを確かめるための、一番簡単な方法 まだ直さなくていいので、切り分けだけ先にお願いします。
直そうとする前に切り分ける。これは人間のエンジニアがやっていることと同じです。急がば回れが、結局は一番速いです。