見出し画像

【32日目】エラーは正しく予測したい

振り返り

31日目の達成目標率

  • API部分を除くページを一旦デプロイ → 新規エラーでそれどころじゃない

  • buildできると確認できたらAPI取り付け → 同上

  • ELSA speak → 100%

  • TOEIC過去問1ページ → 0%

  • メニューB → 10% プランクとストレッチ

達成状況

またエラー。調査で進まず。
新規事業の仕込みは1ヶ月Done。50%進捗といったところ。
サイト制作がスケジュール押していて焦るけど、過去は過去。
切り替えて今日できる分を精一杯やる。

エラーから推測する

沼ったエラーがこちら。

TypeError [ERR_INVALID_ARG_TYPE]: The "to" argument must be of type string. Received undefined
    at validateString (node:internal/validators:162:11)
    at Object.relative (node:path:1195:5)
    at Watchpack.<anonymous> (/Users/hoge/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.js:1420:55)
    at Watchpack.emit (node:events:518:28)
    at Watchpack._onTimeout (/Users/hoge/node_modules/next/dist/compiled/watchpack/watchpack.js:1:37727)
    at listOnTimeout (node:internal/timers:573:17)
    at process.processTimers (node:internal/timers:514:7) {
  code: 'ERR_INVALID_ARG_TYPE'
}

まずはChatGPTで翻訳&要約してもらう方が早い

結果から言うと、setup-dev-bundler.jsでエラーが発生してるそうです。
まず沼った原因として、私の認識ミス。watchpackをwebpackと空目して、
「じゃあViteにしたらいいのか」とスーパー勘違いを発動させたからです。

確かにapproterのbuildでwebpackはとっっっても遅い。
そこにイラついていたのもやはとちり原因の一つ。
こういったミスをなくすためにも、GPTさんに要約してもらうのはとてもおすすめです。

このエラーは、Node.jsの内部バリデータである validateString が、文字列型ではない undefined を受け取ったことを示しています。これは node:path モジュールの relative 関数内で発生しました。

このエラーは、おそらく Next.js フレームワークのセットアップ中に発生したものです。おそらく、ファイルのパスが不正確で、パスの取得中に undefined が渡された可能性があります。これは、ファイルパスの生成や解決に関連する問題である場合があります。

このエラーを修正するには、Next.jsアプリケーションのセットアップやルーターの構成を確認し、正しいファイルパスが渡されていることを確認する必要があります。エラーメッセージに示されているファイルと行数を確認し、問題の原因を特定して修正してください。

setup-dev-bundler jsの該当箇所を見ます。

const appPath = _path.default.relative(dir, appPageFilePaths.get(p));

エラー文を検索してみる

GPTが言うには、pがundefinedがからパスを見直せとのこと。

知見が浅かったので、「setup-dev-bundler.js エラー」で検索しました。
良さそうな記事はないようです。

「The "to" argument must be of type string. Received undefined エラー」でも検索。これも的確な記事はありません。

よくありそうなのに解決策がないエラー

結局は「記事化するほどでもないエラー」ってことなんだと思います。

エラーを直接読み、「pがundefined=何かが足りない」と解釈して沼った私。
要は想定していたパスではないディレクトリが存在していた。と言うだけの話でした。

原因は簡単、一旦ページすべてを古い環境から引っ越しさせたので、AppRputerで変換できないディレクトリがあったと言うことです。
一旦ディレクトリを丸ごとデスクトップに持ってきたらあっさり解決。
脱力してしまいます。AppRouterの知見もフレームワークの知見も浅いですね。インプット頑張ります。

目標確認

長期的目標

期日:1968日後(現在32日/2000日)
達成率:未測定(中期的目標達成後に判断)

  1. 海外から仕事を受けるor海外で仕事をする

  2. 仕事に支障がないレベルの英語力を身につける

  3. 子供たちの留学費用を賄えるレベルで稼げるようになる

  4. 資産運用で労働以外にも収入を得られるようにする

  5. 負けない体を作る

中期的目標

期日:293日後(72日/365日)
達成率:未測定(短期的目標達成後に判断)

  1. フロントエンドとして業務委託を増やす

  2. TOEIC400点を目指す

  3. 平均月収60万を目指す

  4. 積立は毎月、成長枠NISAは年間20万円、投資信託は年間30万円投資する

  5. ストレッチとスクワット、ランニングの習慣化

短期的目標

期日:18日後(13日/31日)
達成率:12%

  1. 試作品を3つ完成 →2つ
    新規事業ローンチ

  2. ELSA Spreakで発音の練習
    TOEIC過去問を解く 1日1ページ過去問を解く
    Duolingoで遊ぶ レベル感が違うのでTODOからば外す
    TOEIC過去問は毎週土曜日(日曜日の朝に答え合わせ) 時間が捻出できないので小ロットで解いていく

  3. 売り上げ10万を目指す 今月まで仕込みを中心に行う

  4. 積立枠は月額3万円
    成長枠は月額3万
    投資信託

  5. 【メニューA】ウォームアップ(5分)ランニング(10分)家でのHIIT(15分)クールダウン(5分)
    【メニューB】ウォームアップ(5分)ジャンピングスクワット・プランク・スクワット・基礎トレーニング(15分)

本日のタスク

  • AppRoterに必要なページの設定

  • ELSA speak

  • TOEIC過去問1ページ → そもそも無料の過去問がない。頻出単語を10個覚える

  • メニューB


この記事が気に入ったらサポートをしてみませんか?