すべてのjest
TypeScript
テストがtravis
パイプラインで失敗し、次のエラーがスローされます。
TypeError: Cannot assign to read only property 'Symbol(Symbol.toStringTag)' of object '#<process>'
これは、コードに特別な変更を加えることなく突然起こりました。そしてローカルですべてがうまくいきます。
何が起こっているのでしょうか?
これはノードv11.11に付属するバグです。 v11.10にダウングレードするか、Facebookがすでにプッシュしている修正を待つことができます( Node version over 11.11)のjestエラー )。
問題がTravisCIに関連している場合は、機能する固定バージョンを設定できます。
node_js:
- "11.10.1"
この問題が修正されたjest
のバージョンを24.3.0にアップグレードすることもできます。これは、ノードをダウングレードするよりも将来の証明ソリューションであると思います。
これは、ノードをv11.12.0にアップグレードするだけで修正されました
上記のいずれの方法でも問題を解決できない場合は、jestを^ 24.3.0にアップグレードし、クライアントコンテナーのDockerイメージのノードバージョンをダウングレードしてみてください。 FROM node:11.10-Alpine
TravisCIが使用するノードのバージョンをダウングレードすることなく。
この問題には主に2つの解決策がありました
ノードのバージョンをダウングレードすることは良い解決策ではないことを知っていますが、とにかくテストを実行したい人はそれを試すことができます。ノードのバージョンを11.11.1から11.10.1にダウングレードすることにより、パッケージ呼び出し "n"をインストールします。このnパッケージは、Node.jsバージョンをインタラクティブに管理するのに役立ちます
npm install -g n
インストールした後、実行するだけです
Sudo n 11.10.1
ノードのバージョンが変更されるので、実行してノードのバージョンを確認できます
node --version
そして後でそこにテストを実行することができます
npm test
それは私のために働いた私はそれが役に立てば幸いです:)
nvm(ノードバージョンマネージャ)を使用する場合
nvm install v11
nvm use v11