我正在用React做一个项目,遇到了一个让我难住的问题。

当我运行yarn start时,我得到这个错误:

TypeError [ERR_INVALID_ARG_TYPE]: "path"参数必须是类型 字符串。接收类型未定义

我不知道为什么会这样。


当前回答

运行npm i react-dev-utils@10.0.0解决了我的问题。

其他回答

我只是在安装和删除一些npm包后遇到了这个问题,花了将近5个小时来弄清楚发生了什么。

我所做的基本上是复制我的src/components到一个不同的目录,然后删除所有的节点模块和包锁。json(如果你在Docker容器中运行你的应用,为了安全起见,删除图像并重新构建它);然后把它重置为我的最后一次提交,然后放回我的src/components,然后运行NPM i。

我希望这能有所帮助。

要解决这个问题,只需升级react-scripts包(用npm info react-scripts version检查最新版本):

替换在你的包里。Json "react-scripts": "^3.x。X "和"react-scripts": "^3.4.1"(或最新可用版本) 删除你的node_modules文件夹 运行npm install或yarn install

一些人报告说这个问题是由运行npm审计修复引起的(避免它!)

我们从react-scripts中弹出,因此不能简单地升级包。Json条目来修复这个问题。

相反,我们这样做了:

在新目录下创建一个新项目-> $> NPX create-react-app foo-project 然后弹出它-> CD ./foo-project && NPM运行弹出 现在将/foo-project/config中的文件复制到我们的主应用程序的config目录中,并启动您的开发服务器

希望这能帮助到其他有类似困境的人。

如果您在package中添加了一个包。Json,然后你删除了它。记住要删除添加在/config/plugin.js或任何与该包相关的地方的任何配置。

如果你有一个弹出的create-react-app,我建议:

通过Create - React -app创建一个新的React应用。 通过npm run Eject或yarn Eject来弹出它。 安装package.json中缺少的所有包。 复制src文件夹,假设所有代码都位于该文件夹中。 如果需要,重做配置和脚本文件夹上的更改。

为我工作。