web-dev-qa-db-ja.com

Travis / Jest:TypeError:オブジェクト '#<process>'の読み取り専用プロパティ 'Symbol(Symbol.toStringTag)'に割り当てることはできません

すべてのjestTypeScriptテストがtravisパイプラインで失敗し、次のエラーがスローされます。

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

これは、コードに特別な変更を加えることなく突然起こりました。そしてローカルですべてがうまくいきます。

何が起こっているのでしょうか?

46
FabienChn

これはノードv11.11に付属するバグです。 v11.10にダウングレードするか、Facebookがすでにプッシュしている修正を待つことができます( Node version over 11.11)のjestエラー )。

問題がTravisCIに関連している場合は、機能する固定バージョンを設定できます。

node_js:
  - "11.10.1"
59
alknows

この問題が修正されたjestのバージョンを24.3.0にアップグレードすることもできます。これは、ノードをダウングレードするよりも将来の証明ソリューションであると思います。

20
Miroslav Jonas

これは、ノードをv11.12.0にアップグレードするだけで修正されました

4
Kyler

上記のいずれの方法でも問題を解決できない場合は、jestを^ 24.3.0にアップグレードし、クライアントコンテナーのDockerイメージのノードバージョンをダウングレードしてみてください。 FROM node:11.10-Alpine TravisCIが使用するノードのバージョンをダウングレードすることなく。

2
Dariell Vasquez

この問題には主に2つの解決策がありました

  • Jestのバージョンを24.3.0にアップグレードします(これは私には機能しませんでした)
  • ノードバージョンを11.10.1にダウングレードする

ノードのバージョンをダウングレードすることは良い解決策ではないことを知っていますが、とにかくテストを実行したい人はそれを試すことができます。ノードのバージョンを11.11.1から11.10.1にダウングレードすることにより、パッケージ呼び出し "n"をインストールします。このnパッケージは、Node.jsバージョンをインタラクティブに管理するのに役立ちます

npm install -g  n

インストールした後、実行するだけです

Sudo n 11.10.1

ノードのバージョンが変更されるので、実行してノードのバージョンを確認できます

node --version

そして後でそこにテストを実行することができます

npm test

それは私のために働いた私はそれが役に立てば幸いです:)

1
Ishu Singh

nvm(ノードバージョンマネージャ)を使用する場合

nvm install v11
nvm use v11
1
Amamazzing