Gatsby: Erreur "StoreStateProvider" ambiguë pour toutes les commandes gatsby

Créé le 27 nov. 2019  ·  58Commentaires  ·  Source: gatsbyjs/gatsby

La description

Après la mise à jour de Gatsby de 2.17.7 à 2.18.4, l'exécution de tout type de commande gatsby provoque une erreur. Cependant, il n'y a littéralement aucun contexte.

> gatsby clean

The above error occurred in the <StoreStateProvider> component:
    in StoreStateProvider
    in App

React will try to recreate this component tree from scratch using the error boundary you provided, App.
Warning: App: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.
> gatsby build

The above error occurred in the <StoreStateProvider> component:

...

Environnement

Malheureusement, je ne peux pas exécuter gatsby info --clipboard , car il plante avec la même erreur StateStoreProvider que les autres commandes. J'ai à nouveau rétabli ma version de Gatsby et exécuté cette commande. Notez que la version de Gatsby dans la sortie ci-dessous est incorrecte .

  System:
    OS: Windows 10
    CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
  Binaries:
    npm: 6.9.0 - C:\Program Files\nodejs\npm.CMD
  Languages:
    Python: 2.7.16 - C:\Python27\python.EXE
  Browsers:
    Edge: 44.18362.267.0
  npmPackages:
    gatsby: ^2.17.7 => 2.17.7
    gatsby-source-apiserver: ^2.1.4 => 2.1.4
stale? needs reproduction bug

Commentaire le plus utile

J'ai résolu le problème! J'ai utilisé npm pour désinstaller, puis (ré) installer react , react-dom et gatsby . Je l'ai fait dans cet ordre exact (je ne pense pas que la commande importerait, mais pour info au cas où elle le ferait).

npm ls react affiche deux versions, mais elles sont identiques et marquées comme "dédoublées":

[email protected] <redacted the filepath>
├─┬ [email protected]
│ └─┬ [email protected]
│   └── [email protected]  deduped
└── [email protected]

Tous les 58 commentaires

Je rencontre le même problème après la mise à jour de la 2.17.10 à la 2.18.4

Merci d'avoir signalé!

Pourriez-vous également essayer de mettre à jour gatsby-cli? Si cela ne vous aide pas, ce serait vraiment utile si vous pouviez nous fournir un référentiel de reproduction.

Je vous remercie! :cœur violet:

Je n'ai pas réellement installé le CLI globalement. Le projet repose sur des commandes npm run <command> qui exécutent à leur tour gatsby <command> , en utilisant la version installée localement de Gatsby.

En utilisant ce modèle, les gens ne sont pas obligés de jeter sur leur machine une dépendance globale. (Ce qui peut devenir moche si vous travaillez sur plusieurs projets, qui nécessitent potentiellement des versions différentes)

J'ai eu un problème similaire plus tôt aujourd'hui, ce qui a fonctionné pour moi était de mettre à jour react, react-dom et gatsby, effacer node_modules et package-lock.json. Enfin, je lance à nouveau npm install et tout a bien fonctionné

La mise react jour de react-dom , ainsi que de Gatsby, semble fonctionner. Gatsby ne devrait-il pas répertorier les versions correctes de React avec lesquelles il est compatible?

Hier, j'ai passé une demi-journée juste à découvrir que dans mon cas, gatsby build / develop fonctionne bien lorsque deps est installé avec du fil.

On dirait que cela a à voir avec un problème de compatibilité entre React et Gatsby. Si vous installez des dépendances à partir de zéro (sans fichier de verrouillage), votre gestionnaire de paquets (yarn ou npm) obtiendra simplement la dernière version (autorisée par les restrictions dans package.json).

Dans mon cas, la version de réaction a été verrouillée dans mon package-lock.json , elle n'a donc pas été mise à jour avec Gatsby, même sur une nouvelle installation.

Je rencontre le même problème. J'ai mis à jour gatsby, gatsby-cli, react et react-dom sans succès. Existe-t-il une solution définitive?

EDIT: J'ai supprimé gatsby et gatsby-cli et les ai réinstallés individuellement et cela semble l'avoir corrigé. Problème étrange.

J'ai touché ce problème. C'est parce qu'il y a deux versions de react installées. Exécutez un npm ls react pour les voir. J'ai une version de react spécifiée dans mon package.json, et ressemble à gatsby / gatsby-cli 2.18.5 a une version différente de react.

J'ai appris le problème sur cette page .

Je tente toujours de résoudre le problème ...

J'ai résolu le problème! J'ai utilisé npm pour désinstaller, puis (ré) installer react , react-dom et gatsby . Je l'ai fait dans cet ordre exact (je ne pense pas que la commande importerait, mais pour info au cas où elle le ferait).

npm ls react affiche deux versions, mais elles sont identiques et marquées comme "dédoublées":

[email protected] <redacted the filepath>
├─┬ [email protected]
│ └─┬ [email protected]
│   └── [email protected]  deduped
└── [email protected]

Bien que je sois débloqué pour le moment, j'ai toujours des inquiétudes:
1) Deux versions de react existent encore? (Je ne suis pas sûr), même si c'est la même version maintenant
2) Les futures mises à jour de Gatsby causeront-elles à nouveau ce problème?

Je n'ai pas de réponses, mais exprimez mes inquiétudes à l'équipe de Gatsby.

Je suis sûr que npm ls n'est qu'un outil pour vous aider à comprendre l'arborescence de dépendances de votre projet. Il n'y a probablement qu'une seule copie de react installée. Vous pouvez dans le dossier node_modules pour vous assurer que ...

J'ai eu le même problème après la mise à jour de gatsby. J'ai rétrogradé à ma version précédente "gatsby": "^ 2.13.73" qui est plusieurs versions en arrière mais cela a résolu le problème.

J'ai résolu le problème! J'ai utilisé npm pour désinstaller, puis (ré) installer react , react-dom et gatsby . Je l'ai fait dans cet ordre exact (je ne pense pas que la commande importerait, mais pour info au cas où elle le ferait).

npm ls react affiche deux versions, mais elles sont identiques et marquées comme "dédoublées":

[email protected] <redacted the filepath>
├─┬ [email protected]
│ └─┬ [email protected]
│   └── [email protected]  deduped
└── [email protected]

Cela a fonctionné pour moi. Merci!

J'ai résolu le problème! J'ai utilisé npm pour désinstaller, puis (ré) installer react , react-dom et gatsby . Je l'ai fait dans cet ordre exact (je ne pense pas que la commande importerait, mais pour info au cas où elle le ferait).

npm ls react affiche deux versions, mais elles sont identiques et marquées comme "dédoublées":

[email protected] <redacted the filepath>
├─┬ [email protected]
│ └─┬ [email protected]
│   └── [email protected]  deduped
└── [email protected]

Idem pour ce qui précède, cette solution a aussi résolu les choses pour moi.

J'ai résolu le problème avec succès en mettant à niveau react et react-dom vers 16.12.0, puis en mettant à niveau gatsby vers 2.18.7.

Important: assurez-vous d'exécuter "gatsby clean" après la mise à niveau de react, react-dom et gatsby.

La mise à jour de gatsby vers la version 2.18.7 comme suggéré par @clarmso a fait l'affaire pour moi (react est à 16.12.0).

Avoir également ce même problème. Réagir et gatsby mis à jour mais ayant toujours les mêmes problèmes. Également essayé de nettoyer après la mise à jour, le problème persiste.

"gatsby": "^ 2.18.11"
"réagir": "^ 16.12.0"
"react-dom": "^ 16.12.0"

Avoir également ce même problème. Réagir et gatsby mis à jour mais ayant toujours les mêmes problèmes. Également essayé de nettoyer après la mise à jour, le problème persiste.

"gatsby": "^ 2.18.11"
"réagir": "^ 16.12.0"
"react-dom": "^ 16.12.0"

Pareil pour moi. Jusqu'à ce que hier a bien fonctionné

J'ai résolu le problème! J'ai utilisé npm pour désinstaller, puis (ré) installer react , react-dom et gatsby . Je l'ai fait dans cet ordre exact (je ne pense pas que la commande importerait, mais pour info au cas où elle le ferait).

npm ls react affiche deux versions, mais elles sont identiques et marquées comme "dédoublées":

[email protected] <redacted the filepath>
├─┬ [email protected]
│ └─┬ [email protected]
│   └── [email protected]  deduped
└── [email protected]

Cela a fonctionné pour moi aussi. Est-ce que cela est en cours d'élaboration pour une solution permanente?

En raison de ces mises à jour, je reçois maintenant plus d'avertissements étranges de StoreStateProvider et des choses aléatoires dans Contentful revenant comme nulles même si elles sont là.

Je ne sais pas ce qui se passe mais je vais devoir garder ça sur une branche pour l'instant

Avoir également ce même problème. Réagir et gatsby mis à jour mais ayant toujours les mêmes problèmes. Également essayé de nettoyer après la mise à jour, le problème persiste.

"gatsby": "^ 2.18.11"
"réagir": "^ 16.12.0"
"react-dom": "^ 16.12.0"

Suppression du dossier node_modules et du fichier package-lock.json. Ran npm installer et tout bon à nouveau.

Mon expérience était une combinaison des commentaires ci-dessus. Depuis que j'ai supprimé le dossier node_modules et que j'avais des plugins gatsby, le npm ne fonctionnait pas. L'installation de fil l'a finalement corrigé.

J'ai résolu ce problème en réinstallant react , react-dom et gatsby . (https://github.com/gatsbyjs/gatsby/issues/19827#issuecomment-559898690)

avant

react v16.11.0
react-dom v16.11.0
gatsby v2.17.11

après

react v16.12.0
react-dom v16.12.0
gatsby v2.18.12

J'ai résolu le problème! J'ai utilisé npm pour désinstaller, puis (ré) installer react , react-dom et gatsby . Je l'ai fait dans cet ordre exact (je ne pense pas que la commande importerait, mais pour info au cas où elle le ferait).

npm ls react affiche deux versions, mais elles sont identiques et marquées comme "dédoublées":

[email protected] <redacted the filepath>
├─┬ [email protected]
│ └─┬ [email protected]
│   └── [email protected]  deduped
└── [email protected]

Merci, ça a marché pour moi 🍾

Personnellement, je dois supprimer le dossier node_modules et package-lock.json
Ensuite, je mets à jour react , react-dom et gatsby :

"react": "^16.12.0",
"react-dom": "^16.12.0",
"gatsby": "^2.18.17",

N'oubliez pas de mettre à jour gatsby-cli vers la dernière version et d'exécuter un gatsby clean
Après cela, gatsby develop fonctionne comme un charme!

J'ai trouvé que le problème ne se produit que lorsque l'enregistreur gatsby par défaut est utilisé. L'enregistreur particulier qui sera utilisé est contrôlé via le processus GATSBY_LOGGER env . Le problème n'est pas reproductible si le journal par défaut est modifié par exemple avec le journal json.

export GATSBY_LOGGER=["json"]
npm i && npm run start 

Passer à yurnalist / json Gatsby Logger corrige un problème pour moi

export GATSBY_LOGGER=["yurnalist"]

J'ai rencontré ce problème aujourd'hui lors de l'exécution de gatsby develop sur un projet plus ancien (la dernière exécution de gatsby develop était à l'automne)

J'ai corrigé en combinant les suggestions ci-dessus (très utiles!).

Peut confirmer que cela a fonctionné:

  1. gatsby clean - a commencé avec ceci pour voir si cela s'est résolu
  2. suppression de node_modules
  3. npm install

Cela n'a pas été résolu à ce stade, j'ai donc suivi les conseils pour le faire:

  1. npm uninstall react react-dom gatsby
  2. npm install react react-dom gatsby

Cela a parfaitement fonctionné.

supprimé package-lock.json
noeud_modules supprimés
a couru npm i

a travaillé pour moi: D

J'ai résolu le problème! J'ai utilisé npm pour désinstaller, puis (ré) installer react , react-dom et gatsby . Je l'ai fait dans cet ordre exact (je ne pense pas que la commande importerait, mais pour info au cas où elle le ferait).

npm ls react affiche deux versions, mais elles sont identiques et marquées comme "dédoublées":

[email protected] <redacted the filepath>
├─┬ [email protected]
│ └─┬ [email protected]
│   └── [email protected]  deduped
└── [email protected]

Merci pour la solution! C'était un bloqueur majeur pour moi. Cela n'a pas fonctionné au départ, mais j'ai également réinstallé gatsby-cli . Après cela, cela fonctionne très bien.

La description

Après la mise à jour de Gatsby de 2.17.7 à 2.18.4, l'exécution de tout type de commande gatsby provoque une erreur. Cependant, il n'y a littéralement aucun contexte.

> gatsby clean

The above error occurred in the <StoreStateProvider> component:
    in StoreStateProvider
    in App

React will try to recreate this component tree from scratch using the error boundary you provided, App.
Warning: App: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.
> gatsby build

The above error occurred in the <StoreStateProvider> component:

...

Environnement

Malheureusement, je ne peux pas exécuter gatsby info --clipboard , car il plante avec la même erreur StateStoreProvider que les autres commandes. J'ai à nouveau rétabli ma version de Gatsby et exécuté cette commande. Notez que la version de Gatsby dans la sortie ci-dessous est incorrecte .

  System:
    OS: Windows 10
    CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
  Binaries:
    npm: 6.9.0 - C:\Program Files\nodejs\npm.CMD
  Languages:
    Python: 2.7.16 - C:\Python27\python.EXE
  Browsers:
    Edge: 44.18362.267.0
  npmPackages:
    gatsby: ^2.17.7 => 2.17.7
    gatsby-source-apiserver: ^2.1.4 => 2.1.4

J'ai fait face au même problème! La solution qui m'aide est d'installer yarn et d'ajouter le champ de résolutions à votre package.json
https://yarnpkg.com/lang/en/docs/selective-version-resolutions/

L'erreur était le résultat de gatsby-cli utilisant react avec ink pour rendre la nouvelle interface. Une mauvaise correspondance de versioning entre la version react un projet et celle requise par gatsby est la cause de ce problème.

L'installation globale de gatsby-cli (ce que nous recommandons) devrait éviter ces problèmes pour autant que je sache. Néanmoins, fermez ceci car il n'y a rien à corriger dans gatsby à ce sujet.

Merci beaucoup à vous tous! 💜

Hier, j'ai passé une demi-journée juste à découvrir que dans mon cas, gatsby build / develop fonctionne bien lorsque deps est installé avec du fil.

En fait, l'utilisation de fil a résolu le problème pour moi aussi

Le simple fait d'exécuter npm update résolu le problème pour moi

L'installation globale de gatsby-cli (ce que nous recommandons) devrait éviter ces problèmes pour autant que je sache. Néanmoins, fermez ceci car il n'y a rien à corriger dans gatsby à ce sujet.

Cela n'a pas fonctionné pour moi. Le passage de l'enregistreur à yurnalist ou json comme mentionné ci-dessus l'a fait. J'ai également supprimé les dossiers public , .cache et node_modules .

Sortie de la version gatsby:

gatsby -v
Gatsby CLI version: 2.8.27
Gatsby version: 2.18.25

Voici mes dépendances si curieuses:

    "dependencies": {
        "@emotion/core": "^10.0.27",
        "@emotion/styled": "^10.0.27",
        "gatsby": "^2.18.25",
        "gatsby-image": "^2.2.39",
        "gatsby-plugin-emotion": "^4.1.21",
        "gatsby-plugin-google-analytics": "^2.1.33",
        "gatsby-plugin-manifest": "^2.2.37",
        "gatsby-plugin-netlify": "^2.1.31",
        "gatsby-plugin-offline": "^3.0.32",
        "gatsby-plugin-react-helmet": "^3.1.21",
        "gatsby-plugin-sharp": "^2.3.13",
        "gatsby-plugin-web-font-loader": "^1.0.4",
        "gatsby-remark-images": "^3.1.42",
        "gatsby-remark-prismjs": "^3.3.30",
        "gatsby-remark-reading-time": "^1.1.0",
        "gatsby-source-filesystem": "^2.1.46",
        "gatsby-transformer-remark": "^2.6.48",
        "gatsby-transformer-sharp": "^2.3.13",
        "prism-themes": "^1.3.0",
        "prismjs": "^1.19.0",
        "prop-types": "^15.7.2",
        "react": "^16.12.0",
        "react-dom": "^16.12.0",
        "react-helmet": "^5.2.1",
        "typeface-karla": "0.0.72"
    },

Voici l'erreur que je reçois:

gatsby develop

 ERROR 

The above error occurred in the <StoreStateProvider> component:
    in StoreStateProvider
    in App

React will try to recreate this component tree from scratch using the error boundary you provided, App.


 ERROR 

Warning: App: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.


 ERROR 

UNHANDLED REJECTION Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.



  Error: Invalid hook call. Hooks can only be called inside of the body of a function component. This could   happen for one of the following reasons:
  1. You might have mismatching versions of React and the renderer (such as React DOM)
  2. You might be breaking the Rules of Hooks
  3. You might have more than one copy of React in the same app
  See https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.

  - react.development.js:1590 resolveDispatcher
    [project]/[gatsby]/[react]/cjs/react.development.js:1590:13

  - react.development.js:1618 useState
    [project]/[gatsby]/[react]/cjs/react.development.js:1618:20

  - context.js:17 StoreStateProvider
    [project]/[gatsby]/[gatsby-cli]/lib/reporter/loggers/ink/context.js:17:41

  - react-reconciler.development.js:6036 renderWithHooks
    [project]/[react-reconciler]/cjs/react-reconciler.development.js:6036:18

  - react-reconciler.development.js:8570 mountIndeterminateComponent
    [project]/[react-reconciler]/cjs/react-reconciler.development.js:8570:13

  - react-reconciler.development.js:9938 beginWork$1
    [project]/[react-reconciler]/cjs/react-reconciler.development.js:9938:16

  - react-reconciler.development.js:11563 Object.invokeGuardedCallbackImpl
    [project]/[react-reconciler]/cjs/react-reconciler.development.js:11563:10

  - react-reconciler.development.js:11740 invokeGuardedCallback
    [project]/[react-reconciler]/cjs/react-reconciler.development.js:11740:31

  - react-reconciler.development.js:15778 beginWork$$1
    [project]/[react-reconciler]/cjs/react-reconciler.development.js:15778:7

  - react-reconciler.development.js:14696 performUnitOfWork
    [project]/[react-reconciler]/cjs/react-reconciler.development.js:14696:12

Aux développeurs désespérés à la recherche de problèmes qui ne devraient pas exister au départ, il suffit de:

-remove dossier node_modules
-supprimer package.lock.json
-run npm i

Après avoir mis la main sur le cas de reproduction pour cela:

Cela semble venir du cas avec les installations npm que la version définie par l'utilisateur de react installe dans node_modules , tandis que la version gatsby-cli de react sera installée dans node_modules/gatsby/node_modules .

Parce que ink semble être installé dans node_modules ses importations react utiliseront des importations différentes de celles gatsby-cli , ce qui conduit au cas:

  1. Vous pouvez avoir plus d'une copie de React dans la même application
    Consultez https://fb.me/react-invalid-hook-call pour obtenir des conseils sur la façon de déboguer et de résoudre ce problème.

Et https://reactjs.org/warnings/invalid-hook-call-warning.html#duplicate -react explique assez bien cela, mais seule suggestion ici (utiliser yarn resolutions ne fonctionnera pas car c'est un problème avec la façon dont npm semble décider node_modules structure

La seule solution (très hacky à cela) qui me vient à l'esprit en ce moment est de remplacer la résolution du module Node.js et le code en dur react par un défini par gatsby-cli . Cela pourrait être correct de le faire (c'est ainsi que PnP est implémenté au moins dans yarn v1)

Après quelques réflexions supplémentaires - l'autre option est d'utiliser createRequireFromPath partir de gatsby-core-utils (https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-core-utils/README .md # createrequirefrompath) et utilisez-le dans gatsby-cli pour charger la même version de react que ink (c'est beaucoup moins piraté et avec moins de risques de problèmes potentiels qui proviendraient de la surcharge de la résolution du module Node.js) .

Le seul problème avec cela serait si nous utilisons des composants tiers ink ( ink-spinner est le seul que nous utilisons actuellement) et ceux-ci seront installés dans un répertoire différent de ink .

Nous pourrions contourner ces problèmes potentiels en vendant ink-spinner intérieur de gatsby-cli et en veillant à ne pas utiliser de composants tiers en tant que packages (et à les vendre tous)

---édité:
il faut faire attention ci-dessus - ink nécessite node >= 16.8.0 donc nous devrions nous assurer de ne pas utiliser les fonctionnalités à partir de react >= 16.8.1 dans gatsby-cli - il faut donc plus de recherche, mais c'est prometteur

Mise à jour: la route createRequireFromPath ne fonctionnera pas, car npm ne peut tout simplement pas résoudre "correctement" la hiérarchie node_modules étant donné dependencies et peerDependencies fourni par ink et gatsby-cli .

Le changement "rapide" consiste à réduire les exigences de version de react (https://github.com/gatsbyjs/gatsby/pull/21522) pour réduire le nombre de scénarios où ce problème se produira.

Mais cela ne résout pas complètement le problème. Pour cela, nous allons probablement regrouper la version react appropriée dans gatsby-cli pour contourner npm incapacité de créer correctement la hiérarchie node_modules (ou remplacer la résolution du module Node.js, mais c'est un piratage qui peut avoir des conséquences imprévues, alors j'aimerais éviter de le faire s'il y a d'autres solutions)

Une autre mise à jour - nous avons apporté quelques mises à jour à gatsby pour limiter les projets concernés - elle a été publiée dans [email protected] - mais elle peut toujours vous obliger à réinitialiser / supprimer package-lock.json .

Si cela ne résout toujours pas le problème - il est probable que vous ayez react / react-dom épinglé dans votre package.json et que la version est inférieure à [email protected] - nous n'avons pas encore de solution pour cela, mais nous l'examinons comme prochaine étape - une solution de contournement possible consiste à utiliser yarn au lieu de npm pour le moment (non vérifié).

Si quelqu'un est intéressé par des éléments techniques, veuillez vérifier le commentaire sur la demande de tirage initiale que j'ai essayé de faire réparer - https://github.com/gatsbyjs/gatsby/pull/21508#issuecomment -586753917 et le plan pour le moment est d'utiliser un bundler (probablement microbundle ) pour regrouper react dans gatsby-cli afin qu'il n'essaie pas d'utiliser react de node_modules et aura juste ceci inclus directement dans gatsby-cli )

J'ai essayé beaucoup de ces commentaires, mais en tant que personne qui n'a utilisé npm pour aucune partie du processus, j'ai pensé écrire ce qui fonctionnait spécifiquement pour moi.

Ma configuration:

Win10, Yarn installé via .msi, Gatsby via yarn global . Utilisation de yarn pour tous les projets Gatsby.

Problème:

Tout gatsby {command} donnerait l'erreur StoreStateProvider , mais npx gatsby {command} fonctionné.

Solution:

  1. Supprimez .cache et /node_modules s'ils existent.
  2. Confirmez que react et react-dom sont mis à jour, "^16.13.0" partir de cette écriture.
  3. Exécutez yarn global remove gatsby gatsby-cli pour supprimer la CLI cassée.
  4. Exécutez yarn global add gatsby gatsby-cli pour réinstaller la CLI.
  5. Exécutez gatsby -v ou un autre gatsby {command} et cela devrait fonctionner.

Production:

> gatsby -v
Gatsby CLI version: 2.9.0
Gatsby version: 2.19.23

Hiya!

Ce problème est devenu silencieux. Effrayant calme. 👻

Nous recevons beaucoup de problèmes, donc nous clôturons actuellement les problèmes après 30 jours d'inactivité. Cela fait au moins 20 jours depuis la dernière mise à jour ici.
Si nous avons manqué ce problème ou si vous souhaitez le garder ouvert, veuillez répondre ici. Vous pouvez également ajouter l'étiquette «non périmé» pour garder ce problème ouvert!
Pour rappel amical: la meilleure façon de voir ce problème, ou tout autre, résolu est d'ouvrir une Pull Request. Consultez gatsby.dev/contribute pour plus d'informations sur l'ouverture des RP, le tri des problèmes et la contribution!

Merci de faire partie de la communauté Gatsby! 💪💜

Même si cela n'a pas beaucoup d'activité, je ne pense pas que ce soit périmé

J'avais ce même problème, ce que j'ai fait était de supprimer mon json.lock et d'exécuter la commande yarn pour mettre à jour les dépendances. et tout a recommencé à fonctionner normalement.

J'ai rencontré le même problème que j'ai résolu en supprimant le dossier "node_modules" et le fichier "package-lock.json" puis la commande "npm install".

Hiya!

Ce problème est devenu silencieux. Effrayant calme. 👻

Nous recevons beaucoup de problèmes, donc nous clôturons actuellement les problèmes après 30 jours d'inactivité. Cela fait au moins 20 jours depuis la dernière mise à jour ici.
Si nous avons manqué ce problème ou si vous souhaitez le garder ouvert, veuillez répondre ici. Vous pouvez également ajouter l'étiquette «non périmé» pour garder ce problème ouvert!
Pour rappel amical: la meilleure façon de voir ce problème, ou tout autre, résolu est d'ouvrir une Pull Request. Consultez gatsby.dev/contribute pour plus d'informations sur l'ouverture des RP, le tri des problèmes et la contribution!

Merci de faire partie de la communauté Gatsby! 💪💜

Rebonjour!

Cela fait 30 jours que rien n'est arrivé à ce sujet, alors notre sympathique robot de quartier (c'est moi!) Va le fermer.
Veuillez garder à l'esprit que je ne suis qu'un robot, donc si j'ai résolu ce problème par erreur, je suis HUMAN_EMOTION_SORRY . N'hésitez pas à rouvrir ce numéro ou à en créer un nouveau si vous avez besoin d'autre chose.
Pour rappel amical: la meilleure façon de voir ce problème, ou tout autre, résolu est d'ouvrir une Pull Request. Consultez gatsby.dev/contribute pour plus d'informations sur l'ouverture des RP, le tri des problèmes et la contribution!

Merci encore de faire partie de la communauté Gatsby! 💪💜

: légèrement_frowning_face: J'utilise toujours yurnalist comme enregistreur par défaut. Je n'ai jamais vu ici de mise à jour indiquant que cela a été corrigé.

Aux développeurs désespérés à la recherche de problèmes qui ne devraient pas exister au départ, il suffit de:

-remove dossier node_modules
-supprimer package.lock.json
-run npm i

Cela a fonctionné pour moi ...

La désinstallation et la réinstallation de gatsby (v 2.23.11) ont fonctionné pour moi.

utiliser l'installation de fil, cela devrait fonctionner

Donc ce que j'ai fait (après avoir tout lu jusqu'à présent), c'est que j'ai changé la version dans le fichier package.json de Gatsby 2.18.7 et j'ai exécuté npm i Cela a fonctionné

Je rencontre toujours ce problème.

$: gatsby -v
Gatsby CLI version: 2.12.66
Gatsby version: 2.23.12

Étapes à suivre pour reproduire:

  1. utilisez gatsby new pour créer un nouveau projet
  2. installer sass en utilisant npm i --save node-sass gatsby-plugin-sass
  3. exécuter gatsby develop

Résultat

$ gatsby develop

 ERROR

The above error occurred in the <StoreStateProvider> component:
    in StoreStateProvider
    in App

React will try to recreate this component tree from scratch using the error boundary you provided, App.


 ERROR

Warning: App: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.


 ERROR

UNHANDLED REJECTION Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.



  Error: Invalid hook call. Hooks can only be called inside of the body of a fun  ction component. This could happen for one of the following reasons:
  1. You might have mismatching versions of React and the renderer (such as Reac  t DOM)
  2. You might be breaking the Rules of Hooks
  3. You might have more than one copy of React in the same app
  See https://fb.me/react-invalid-hook-call for tips about how to debug and fix   this problem.

  - react.development.js:1465 resolveDispatcher
    [bug]/[gatsby]/[react]/cjs/react.development.js:1465:13

  - react.development.js:1496 useState
    [bug]/[gatsby]/[react]/cjs/react.development.js:1496:20

  - context.js:21 StoreStateProvider
    [bug]/[gatsby]/[gatsby-cli]/lib/reporter/loggers/ink/context.js:21:49

  - react-reconciler.development.js:6036 renderWithHooks
    [bug]/[ink]/[react-reconciler]/cjs/react-reconciler.development.js:6036:18

  - react-reconciler.development.js:8570 mountIndeterminateComponent
    [bug]/[ink]/[react-reconciler]/cjs/react-reconciler.development.js:8570:13

  - react-reconciler.development.js:9938 beginWork$1
    [bug]/[ink]/[react-reconciler]/cjs/react-reconciler.development.js:9938:16

  - react-reconciler.development.js:11563 Object.invokeGuardedCallbackImpl
    [bug]/[ink]/[react-reconciler]/cjs/react-reconciler.development.js:11563:10

  - react-reconciler.development.js:11740 invokeGuardedCallback
    [bug]/[ink]/[react-reconciler]/cjs/react-reconciler.development.js:11740:31

  - react-reconciler.development.js:15778 beginWork$$1
    [bug]/[ink]/[react-reconciler]/cjs/react-reconciler.development.js:15778:7

  - react-reconciler.development.js:14696 performUnitOfWork
    [bug]/[ink]/[react-reconciler]/cjs/react-reconciler.development.js:14696:12

Cela a été résolu en implémentant les instructions en procédant comme suit, comme décrit ci-dessus ☝️

Donc ce que j'ai fait (après avoir tout lu jusqu'à présent), c'est que j'ai changé la version dans le fichier package.json de Gatsby 2.18.7 et j'ai exécuté
npm i Cela a fonctionné

La suppression des dossiers .cache et node_modules, et package-lock.json, puis la réinstallation ont fonctionné pour moi.

J'ai donné une mise à niveau de fil et cela a fonctionné pour moi.

La suppression de node_modules , du cache npm et des fichiers package-lock.json est une solution peu pratique pour ce qui serait un changement radical chaque fois qu'un plugin ou une dépendance est ajoutée.

Le problème sous-jacent dans mon cas était qu'un nouveau projet provisionné à l'aide de gatsby new [path] [starter] utilise implicitement yarn pour amorcer les dépendances si yarn est installé et disponible ( which yarn renvoie une chaîne non vide). Les tentatives ultérieures d'installation de plugins / dépendances à l'aide de npm échoueront avec des erreurs cryptiques comme indiqué ci-dessus car npm et yarn sont des solutions de gestion de paquets mutuellement exclusives.

Il serait préférable pour le cli gatsby de ne pas utiliser par défaut un yarn sans qu'une option de ligne de commande ne le demande. La résolution pour moi était de désinstaller yarn et de réinitialiser le projet afin que npm puisse être utilisé exclusivement.

https://github.com/gatsbyjs/gatsby/pull/26887 (fusionné hier et publié aujourd'hui) qui supprime react des dépendances de gatsby-cli et le regroupe lorsque nous publions des packages - qu'est-ce que c'est signifie que cela ne devrait pas donner lieu à des copies multiples étranges de react dans node_modules qui causent toutes sortes de problèmes.

@ duchess-toffee Vous pourriez trouver https://github.com/gatsbyjs/gatsby/pull/26856 intéressant (pas encore fusionné / publié) - alors qu'il ne reviendra pas automatiquement de yarn à npm comme gestionnaire de paquets par défaut - vous pourrez exécuter gatsby options set pm npm

J'ai eu un problème apparemment lié à ce problème # 26998

Résolu à l'aide d'une configuration Webpack personnalisée pour résoudre react :

`` `` js
// fichier: gatsby-node.js
const path = require ('chemin')

module.exports = {
onCreateWebpackConfig: ({actions}) => {
actions.setWebpackConfig ({
résoudre: {
alias: {
'react': path.resolve (path.join (__ dirname, 'node_modules', 'react'))
}
}
})
}
}
`` ``

json // file: package.json { "dependencies": { "@mdx-js/mdx": "^1.6.18", "@mdx-js/react": "^1.6.18", "gatsby": "^2.24.64", "gatsby-plugin-layout": "^1.3.11", "gatsby-plugin-mdx": "^1.2.40", "gatsby-plugin-sass": "^2.3.12", "gatsby-source-filesystem": "^2.3.30", "gatsby-telemetry": "^1.3.35", "node-sass": "^4.14.1", "react": "^16.13.1", "react-dom": "^16.13.1", "react-ionicons-v5": "^1.2.0", "three": "^0.120.1" } }

Tout se passe bien maintenant.

Cette page vous a été utile?
0 / 5 - 0 notes