All Articles

いきなりエラーメッセージでググるな!

プログラミングや環境構築などでエラーに遭遇したときに、「エラーメッセージでググる」と教わったことはないでしょうか?

実際に、プログラミングや環境構築にあまり慣れていない方から、「エラーメッセージでググったけど分かりませんでした」と言われることがよくあります。

しかし、私はエラーに遭遇したときに「いきなりエラーメッセージでググる」ことは良くないと考えています。 この記事には、「いきなりエラーメッセージでググる」ことが良くない理由と、ではどうするべきなのかを書いていきます。

エラーに遭遇したときに最初にすべきこと

何らかのエラーに遭遇して画面上にエラーメッセージが表示されると、何をどうすれば良いのか分からず困ってしまうという方も少なくないと思います。

そこでまずやるべきことは、「エラーメッセージでググる」ことではありません。 エラーメッセージを読んで、その意味や原因・修正すべき点を考えることです。

多くの場合、エラーメッセージにエラーを解消するためのヒントや答えが書いてあります

エラーメッセージを「読む」とは

「エラーメッセージを読みましょう」ということはよく言われると思いますが、この言葉も誤解されていることがあります。

特に英語のエラーメッセージに対して「読みましょう」と言われると、意味を考えずに音読だけしてしまう方も少なくないようです。 「エラーメッセージを読みましょう」と言われて、音読するだけでは得られるものはありません。 エラーメッセージに書かれている内容、エラーメッセージの意味を理解することが重要です

英語に抵抗がある方は、DeepL などで翻訳して読んでも良いと思います。 エラーメッセージの内容を理解できる読み方をしましょう

また、英語のメッセージを読むときは、分からない英単語はしっかり調べましょう。 (分からない英単語を想像で読んでしまい、メッセージの意味を誤解しているケースも少なくありません…)

読んだら意味や原因・修正すべき点を考える

エラーメッセージを読んだら、その意味やエラーの原因・修正すべき点を考えることになります。

例えば、エラーメッセージに「No such file or directory」と書かれているとしましょう。 日本語にすると「そのようなファイルまたはディレクトリはない」という意味です。

このメッセージを読んだら、

  • なぜそのファイルが必要とされているのか
  • なぜそのファイルがないのか (そのファイルはどうやって用意するものなのか)

など、なぜこのようなメッセージが出るのかを考えましょう。 考えた結果どんな修正をすれば良いのか分かったら、その対応をしてあげましょう。

他の例で言えば、エラーメッセージに「maybe run …」などと書かれているかもしれません。 日本語にすると「もしかするとこうするべきではないか」という、対応方法の例です。

エラーメッセージには、具体的にどうするべきか書かれていることも少なくありませんしっかり読んで、その内容を試してみましょう

それでも解決しないとき

それでも解決しない場合、「エラーメッセージでググる」ことを試しても良いと思います。

「エラーメッセージでググる」ことをすると、Stack Overflow や Qiita といったサービスで、同様のエラーに遭遇した場合の対処法が出てくることがあります。 このようなサービスで紹介されている対処法は、基本的にそのまま信用すべきではありません。 (GitHub の公式リポジトリの Issue などは、比較的信用度が高いことが多いと思います)

そのような記事を見ること自体は否定しませんが、それが正しい情報である根拠はありません。

見つけた対処法が、

  • 自分の知識
  • 公式ドキュメント
  • (OSS であれば) ソースコード

などと照らし合わせて適切か判断して使いましょう

対処法が適切か判断できないとき

とはいえ、見つけた対処法が適切か判断できないこともあると思います。

あまり知識のない分野については、見つけた対処法が適切なのか判断できないのです。 (自分も知識のない分野では、出てきた記事の内容をそのまま試してみることしかできません…)

しかしよく知らない分野でも、その分野の知識をつけることで、長期的には対処法が適切なのか判断できるようになっていきます。 よく「OS について勉強したりするのは何の役に立つのか」と言われることがありますが、まさにこのように役立ちます。

よく分からないことが出てきたときは、勉強すべきことを知るチャンスでもあります

まとめ

「エラーメッセージでググる」前に、エラーメッセージを読んで、その意味や原因・修正すべき点を考えましょう。

エラー解決は一番勉強になると言っても過言ではありません。 エラーを怖がらず、勉強の機会だと思ってしまいましょう。