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

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

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

我不知道为什么会这样。


当前回答

这与react无关,正如所指定的错误一样,undefined不被接受为path参数。确保没有将变量传递给path。恰巧未定义或为空的连接。 例如:

const {path} = require('path'); 
let arg = undefined;
let mypath = path.join(__dirname, arg);

// The same error would occur. 

其他回答

我也有同样的问题,运行npm install react-scripts@latest解决了我的问题。

就我而言,这是因为我(一度)安装了reactn,它也包含了自己的React版本(出于某种原因)。

安装完成后(即使再次卸载),仍会出现此错误。

我只是删除了node_modules并再次运行npm install,它工作了。

只需要删除并重新安装反应脚本

删除 Yarn删除反应脚本 添加 Yarn添加反应脚本

然后rm -rf node_modules/ yarn。锁纱

记住不要经常更新react-scripts版本

我只是在安装和删除一些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审计修复引起的(避免它!)