web-dev-qa-db-fra.com

Travis / Jest: TypeError: Impossible d'attribuer à la propriété en lecture seule 'Symbol (Symbol.toStringTag)' de l'objet '# <process>'

Tous mes tests jestTypeScript échouent dans mon pipeline travis, provoquant l'erreur suivante:

TypeError: Cannot assign to read only property 'Symbol(Symbol.toStringTag)' of object '#<process>'

Cela s'est produit soudainement sans que je change quoi que ce soit de particulier dans le code. Et localement, tout fonctionne bien.

Des idées ce qui pourrait arriver?

46
FabienChn

Il s'agit d'un bogue fourni avec le nœud v11.11. Vous pouvez revenir à la version 11.10 ou attendre le correctif que Facebook a déjà poussé ( erreur de plaisanterie dans Node version over 11.11 ).

Si votre problème est lié à TravisCI, vous pouvez définir une version fixe qui fonctionne:

node_js:
  - "11.10.1"
59
alknows

Vous pouvez également mettre à niveau votre version de jest vers la version 24.3.0 qui résout ce problème. Je pense que c'est une solution plus pérenne que la rétrogradation de votre nœud.

20
Miroslav Jonas

Cela a été résolu pour moi en mettant simplement à niveau le nœud vers v11.12.0

4
Kyler

Pour ceux d'entre vous qui ne peuvent pas résoudre le problème avec l'une des réponses ci-dessus, essayez de mettre à niveau votre plaisanterie vers ^ 24.3.0 et de rétrograder la version du nœud dans votre image docker de votre conteneur client. J'ai utilisé FROM node:11.10-Alpine sans rétrograder la version du nœud utilisée par TravisCI.

2
Dariell Vasquez

Il y avait principalement deux solutions à ce problème

  • Mettez à niveau votre version Jest vers 24.3.0 (ce qui n'a pas fonctionné pour moi)
  • Rétrogradez la version de votre nœud vers 11.10.1

Je sais que la rétrogradation de la version du nœud n'est pas une bonne solution, mais pour ceux qui veulent exécuter vos tests, vous pouvez l'essayer. En rétrogradant la version de leur nœud de 11.11.1 à 11.10.1 Installez le package, appelez "n". Ce package n vous aide à gérer de manière interactive vos versions de Node.js

npm install -g  n

Après l'avoir installé, il vous suffit d'exécuter

Sudo n 11.10.1

et la version de votre nœud sera modifiée, vous pouvez vérifier la version du nœud en exécutant

node --version

Et plus tard peut y exécuter le test

npm test

Cela a fonctionné pour moi, j'espère que ce sera utile :)

1
Ishu Singh

si vous utilisez nvm (gestionnaire de version de noeud),

nvm install v11
nvm use v11
1
Amamazzing