我正在用React做一个项目,遇到了一个让我难住的问题。
当我运行yarn start时,我得到这个错误:
TypeError [ERR_INVALID_ARG_TYPE]: "path"参数必须是类型 字符串。接收类型未定义
我不知道为什么会这样。
我正在用React做一个项目,遇到了一个让我难住的问题。
当我运行yarn start时,我得到这个错误:
TypeError [ERR_INVALID_ARG_TYPE]: "path"参数必须是类型 字符串。接收类型未定义
我不知道为什么会这样。
当前回答
我通过在nvm中设置一个新版本的节点作为默认值来修复这个问题,即:
nvm alias default 12.XX.X
其他回答
我只是在安装和删除一些npm包后遇到了这个问题,花了将近5个小时来弄清楚发生了什么。
我所做的基本上是复制我的src/components到一个不同的目录,然后删除所有的节点模块和包锁。json(如果你在Docker容器中运行你的应用,为了安全起见,删除图像并重新构建它);然后把它重置为我的最后一次提交,然后放回我的src/components,然后运行NPM i。
我希望这能有所帮助。
我不想升级react-scripts,所以我使用第三方的重新安装npm模块来重新安装它,它工作了。
npm i -g npm-reinstall
reinstall react-scripts
如果您弹出并感到好奇,CRA回购上的这个变化是导致错误的原因。
要修复它,你需要应用他们的更改;即最后一组文件:
包/ react-scripts / config / paths.js 包/ react-scripts / config / webpack.config.js 包/ react-scripts / config / webpackDevServer.config.js 包/ react-scripts / package.json 包/ react-scripts /脚本/ build.js 包/ react-scripts /脚本/ start.js
就我个人而言,我认为你应该手动应用这些更改,因为除非你一直在更新所有的更改,否则你可能会给你的webpack包引入另一个错误(因为依赖不匹配或其他原因)。
或者,你可以按照Geo Angelopoulos的建议去做。这可能需要一段时间,但至少您的项目将与CRA回购同步(并获得它们所有最新的增强!)
我在盖茨比博客上也遇到了同样的问题。依赖项无法升级,只能在npm 10.22.1版本上运行。
对我有效的方法如下:
#!/bin/bash
rm -rf .cache
rm -rf public
gatsby build
gatsby serve
基本上完全重建了所有东西,这个错误就消失了。很烦人,但至少它能构建。
更奇怪的是,如果我调整博客文章的图像,比如稍微调整一下大小,它就会生成。我完全不知道为什么。但这至少是个线索。
将HOME环境变量设置为适当的值为我修复了这个问题。