TypeError [ERR_INVALID_ARG_TYPE]: O argumento "caminho" deve ser do tipo string. Tipo recebido indefinido gerado ao iniciar o aplicativo de reação


92

Estou trabalhando em um projeto no React e tive um problema que me deixou perplexo.

Sempre que corro yarn start, recebo este erro:

TypeError [ERR_INVALID_ARG_TYPE]: O argumento "path" deve ser do tipo string. Tipo recebido indefinido

Eu não tenho idéia do por que isso está acontecendo, se alguém tiver experimentado isso, ficaria agradecido.


Tente excluir e reinstalar os módulos do nó novamente.
Astrit Spanca

Respostas:


177

Para corrigir esse problema, basta atualizar para "react-scripts": "^3.4.0"

  1. Substituir o existente "react-scripts": "^3.x.x" com "react-scripts": "^3.4.0"a sua package.json
  2. Exclua os módulos do nó
  3. Execute a instalação npm ou instalação de fios

Espero que conserte mais rápido você


11
puxando meu cabelo nas últimas 24 horas tentando resolver esse mesmo problema. esta solução funciona perfeitamente para mim. muito obrigado.
Rapid537 15/02

4
npm é uma pilha tão fumegante de esterco
Magicode 16/02

8
Meu problema foi resolvido ao atualizar de 3.3.0para 3.4.0. O estranho é que simplesmente parou de funcionar no meio do desenvolvimento, sem qualquer motivo.
Algoritmo abstrato

3
Você sabe por que isso está acontecendo?
Ilyas karim 6/03

10
Isso "apenas começou" acontecendo comigo também, mas foi realmente depois da execução npm audit fix, caso isso seja útil para alguém.
Jeremy Jones

19

Eu também enfrentei esse problema e resolvi-o atualizando o react-scriptspacote de "react-scripts": "3.x.x"para"react-scripts": "^3.4.0"

  1. Excluir node_modules\pasta
  2. Excluir package-lock.jsonarquivo
  3. Reescreva o package.jsonarquivo de "react-scripts": "3.x.x"para"react-scripts": "^3.4.0"
  4. Instale os pacotes de nós novamente npm i
  5. Agora, inicie o projeto npm start

E funciona !!


7

Nós expulsamos react-scriptse, portanto, não podemos simplesmente atualizar a entrada package.json para corrigir isso.

Em vez disso, fizemos o seguinte: 1.) em um novo diretório, crie um novo projeto -> $> npx create-react-app foo-project 2.) e depois o ejete -> cd ./foo-project && npm run eject 3.) copie agora os arquivos de / foo-project / config para o diretório de configuração do nosso diretório principal. aplicativo e inicie seu servidor dev

espero que isso ajude outras pessoas em um vínculo semelhante.


6

Eu só tive esse problema depois de instalar e remover alguns pacotes npm e passei quase 5 horas para descobrir o que estava acontecendo.

O que eu fiz foi basicamente copiar meu src / components em um diretório diferente e remover todos os módulos do nó e package-lock.json (se você estiver executando seu aplicativo no contêiner do Docker, remova as imagens e reconstrua-o apenas por segurança); redefina-o para meu último commit e, em seguida, coloque de volta meus src / components, em seguida, executeinpm i .

Espero que ajude.


2
  1. Vá para o package.json

  2. Altere "react-scripts": "3.xx" para "react-scripts": "^ 3.4.0" nas dependências

  3. Reinstale o react-scripts: npm I react-scripts

  4. Comece seu projeto: npm start


1

A corrida npm i react-dev-utils@10.0.0resolveu meu problema.


11
Eu fiz todo o anterior, e então isso corrigi-lo.
NicoWheat

0

Se você tiver um ejetor create-react-app , sugiro:

  1. Crie um novo aplicativo React através de create-react-app.
  2. Ejete-o através de npm run ejectou yarn eject.
  3. Instale todos os pacotes que estão faltando no package.json.
  4. Copie sua pasta src assumindo que todo o seu código esteja situado nessa pasta.
  5. Refaça suas alterações nas pastas de configuração e script , se necessário.

Trabalhou para mim.


0

Eu tentei várias abordagens descritas acima, mas nenhuma delas funcionou desde que eu ejetei meu css. Finalmente, a aplicação das seguintes etapas ajudou:

  1. Atualizar react-scriptsde "react-scripts": "3.x.x"para"react-scripts": "^3.4.0"
  2. Fazendo o downgrade do react-dev-utilsformulário "react-dev-utils": "^10.x.x"para"react-dev-utils": "10.0.0"
  3. Excluir node-modulespasta e package-lock.json/yarn.lock
  4. Reinstalar pacotes npm install/yarn install

0

Se você ejetou e está curioso, essa mudança ficou no repositório CRA é o que está causando o erro.

Para corrigi-lo, você precisa aplicar as alterações; ou seja, o último conjunto de arquivos:

  • pacotes / react-scripts / config / paths.js
  • pacotes / react-scripts / config / webpack.config.js
  • pacotes / react-scripts / config / webpackDevServer.config.js
  • packages / react-scripts / package.json
  • pacotes / react-scripts / scripts / build.js
  • pacotes / react-scripts / scripts / start.js

Pessoalmente, acho que você deve aplicar manualmente as alterações porque, a menos que você esteja se mantendo atualizado com todas as alterações, poderá introduzir outro bug no seu pacote webpack (devido a uma incompatibilidade de dependência ou algo assim).

OU , você pode fazer o que Geo Angelopoulos sugeriu. Pode demorar um pouco, mas pelo menos seu projeto estará sincronizado com o repositório CRA (e obterá todas as melhorias mais recentes!).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.