Tous mes tests jest
TypeScript
é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?
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"
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.
Cela a été résolu pour moi en mettant simplement à niveau le nœud vers v11.12.0
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.
Il y avait principalement deux solutions à ce problème
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 :)
si vous utilisez nvm (gestionnaire de version de noeud),
nvm install v11
nvm use v11