我正在React中的一个项目上工作,遇到了一个让我感到困惑的问题。
每当我运行时yarn start
,都会出现此错误:
TypeError [ERR_INVALID_ARG_TYPE]:“路径”参数必须为字符串类型。接收类型未定义
我不知道为什么会这样,如果有人经历过,我将不胜感激。
要解决此问题,只需升级react-scripts软件包(使用来检查最新版本npm info react-scripts version
):
- 将您的package.json 替换
"react-scripts": "^3.x.x"
为"react-scripts": "^3.4.1"
(或最新可用版本) - (对于某些情况是可选的)删除您的node_modules文件夹
- 运行
npm install
或yarn install
有人报告此问题是由运行引起的npm audit fix
(避免它!)。
我也遇到了这个问题,并通过将react-scripts
软件包从升级"react-scripts": "3.x.x"
到"react-scripts": "^3.4.1"
(或最新的可用版本)来解决。
- 删除资料
node_modules\
夹 - 删除
package-lock.json
档案 - 重写
package.json
从文件"react-scripts": "3.x.x"
到"react-scripts": "^3.4.1"
- 再次安装节点软件包
npm i
- 现在,开始项目
npm start
而且有效!!
如果您已退出,这是解决此问题的正确方法:
找到此文件config/webpackDevServer.config.js
,然后在此文件中找到以下行:
app.use(noopServiceWorkerMiddleware());
您应该将其更改为:
app.use(noopServiceWorkerMiddleware('/'));
对于我(也许是您大多数人)而言,服务工作者是项目的根源。如果您觉得与众不同,则可以通过基本路径。
跑步npm i react-dev-utils@10.0.0
解决了我的问题。
我们从中弹出react-scripts
,因此不能简单地升级package.json条目来解决此问题。
相反,我们这样做:1.)在新目录中,创建一个新项目-> $> npx create-react-app foo-project
2.)然后弹出-> cd ./foo-project && npm run eject
3.)现在将文件从/ foo-project / config复制到主目录的config目录中应用并启动您的开发服务器
希望这可以帮助其他处于类似困境的人。
在安装和删除一些npm软件包后,我才遇到这个问题,花了将近5个小时才弄清楚发生了什么。
我所做的基本上是将src / components复制到一个不同的目录中,然后删除所有节点模块和package-lock.json(如果您在Docker容器中运行应用程序,请删除图像并重建它只是为了安全起见);然后将其重置为我的最后一次提交,然后放回我的src / components然后运行npm i
。
希望对您有所帮助。
只需将react-scripts更新到最新版本。
yarn add react-scripts@latest
或如果使用NPM
npm install react-scripts@latest
-
转到你package.json
-
在依赖项中将“ react-scripts”:“ 3.xx”更改为“ react-scripts”:“ ^ 3.4.0”
-
重新安装react-scripts:
npm I react-scripts
-
开始您的项目:
npm start
如果您弹出 create-react-app
,我建议:
- 通过创建一个新的React应用
create-react-app
。 - 通过
npm run eject
或将其弹出yarn eject
。 - 安装缺少的所有软件包
package.json
。 - 假设所有代码都位于此文件夹中,请复制src文件夹。
- 如果需要,请在config和script文件夹上重做更改。
为我工作。
我尝试了上述各种方法,但是自从弹出CSS以来,它们都没有起作用。最终应用以下步骤有助于:
react-scripts
从升级"react-scripts": "3.x.x"
到"react-scripts": "^3.4.0"
- 降级
react-dev-utils
形式"react-dev-utils": "^10.x.x"
来"react-dev-utils": "10.0.0"
- 删除
node-modules
文件夹和package-lock.json
/yarn.lock
- 重新安装软件包
npm install
/yarn install
如果您弹出并感到好奇,那么CRA存储库上的此更改就是导致错误的原因。
要解决此问题,您需要应用他们的更改。即最后一组文件:
- 包/反应脚本/config/paths.js
- 包/反应脚本/config/webpack.config.js
- 包/反应脚本/config/webpackDevServer.config.js
- 包/反应脚本/package.json
- 包/反应脚本/脚本/build.js
- 包/反应脚本/脚本/start.js
就个人而言,我认为您应该手动应用更改,因为,除非一直保持所有更改的最新状态,否则您可能会在webpack捆绑包中引入另一个错误(由于依赖项不匹配或其他原因)。
或者,您可以按照Geo Angelopoulos的建议进行操作。这可能需要一段时间,但至少您的项目将与CRA存储库同步(并获得其所有最新增强功能!)。
就我而言,这是因为我(一次reactn
安装)已经安装,它还包括自己的React版本(出于某种原因)。
安装后(即使再次卸载后),也会发生此错误。
我只是简单地删除node_modules
并npm install
再次运行,就可以了。
请遵循以下步骤。我也遇到了同样的问题。
- 删除整个node_modules文件夹。
- 删除package-lock.json文件。
-
npm install npm-install
如图所示,运行命令: -
我们走了.. npm start ... wao
只需删除并重新安装 react-scripts
删除
yarn remove react-scripts
添加
yarn add react-scripts
接着 rm -rf node_modules/ yarn.lock && yarn
- 切记不要
react-scripts
定期更新版本
文章标签:javascript , reactjs , redux , visual-studio-code , yarnpkg
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!
评论已关闭!