LoginSignup
0
0

More than 1 year has passed since last update.

久々に開いたファイルで yarn.start したらハマった

Posted at

エラー内容

久々に開くプロジェクトをGit cloneしてスタートしようとしたら、突然怒られました。
1年も放置してたので多少環境メンテは必要と思っていましたが、意味不明だったので、私が解決できた方法を残しておきます。
(それぞれの解決法はネット検索で出てきた結果です。先人たちのおかげで生きてる。)

環境

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
    at new NodeError (node:internal/errors:371:5)
    at validateString (node:internal/validators:119:11)
    at Object.join (node:path:429:7)
    at noopServiceWorkerMiddleware (C:\Develop\awesome_webapp\node_modules\react-dev-utils\noopServiceWorkerMiddleware.js:14:26)
    at Layer.handle [as handle_request] (C:\Develop\awesome_webapp\node_modules\express\lib\router\layer.js:95:5)
    at trim_prefix (C:\Develop\awesome_webapp\node_modules\express\lib\router\index.js:323:13)
    at C:\Develop\awesome_webapp\node_modules\express\lib\router\index.js:284:7
    at Function.process_params (C:\Develop\awesome_webapp\node_modules\express\lib\router\index.js:341:12)
    at next (C:\Develop\awesome_webapp\node_modules\express\lib\router\index.js:275:10)
    at launchEditorMiddleware (C:\Develop\awesome_webapp\node_modules\react-dev-utils\errorOverlayMiddleware.js:20:7)

見た感じ、react-dev-utilsとかに問題がありそうですね。そんな感じかなと思って調べ始めたせいで墓穴を掘りました。
念のため、私には効果がなかった解決法も、調べた順番で記載しておきます。

解決法1::react-scriptsのバージョンアップ

まず、react-scriptがpackage.jsonに含まれていない人は、この解決法は関係ないかもです。

npm info react-scripts version で最新バージョンを調べます。

package.jsonで下記の部分を探します。

  "dependencies": {
    ....
    "react-scripts": "x.x.x", 
    ....

バージョンが異なっていたら、最新のバージョンにあげましょう。
package.jsonでバージョンを書き換えて、下記を実行します。

rm -rf node_modules
yarn install
yarn start

解決法2: react-dev-utilsのダウングレード

package.jsonで、react-dev-utilsを探します。
バージョンが、 10.x.xと、10.0.0以上であれば、上記と同じ方法でpackage.jsonを書き換えて、インストールしなおします。

  "dependencies": {
    ....
    "rreact-dev-utilss": "10.0.0", 
    ....
rm -rf node_modules
yarn install
yarn start

解決法 3 /webpackDevServer.config.js を修正

./config/webpackDevServer.config.js を確認します。

app.use(noopServiceWorkerMiddleware());

app.use(noopServiceWorkerMiddleware('/'));
に変更し、再度yarn startします。

私は解決法3をやっていなかったらずっとnpm installをやり直す沼にハマっていたことでしょう…

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

参考元
https://kenjimorita.jp/typeerror-err_invalid_arg_type-the-path-argument-must-be-of-type-string-received-undefined/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0