yarnでjestを追加しようとしたら色々エラーが発生。
$ yarn add --dev jest
yarn add v1.22.11
[1/4] 🔍 Resolving packages...
[2/4] 🚚 Fetching packages...
error jest-diff@26.6.2: The engine "node" is incompatible with this module. Expected version ">= 10.14.2". Got "10.13.0"
error Found incompatible module.
使用しているnodeのバージョンと互換性が無いみたい。上記のエラー分によると10.14.2以上が良いと感じた。
とりあえず、nodeのv10.14.2をインストールしてバージョンを切り替えた。
$ nodebrew install-binary v10.14.2 #v10.14.2をインストール
Fetching: https://nodejs.org/dist/v10.14.2/node-v10.14.2-darwin-x64.tar.gz
##################################################################################################################################################################################################### 100.0%
Installed successfully
$ nodebrew use v10.14.2 #使用するバージョンをv10.14.2に変更
use v10.14.2
$ node -v #nodeのバージョン確認
v10.14.2
再度、jestを追加するコマンドを実行。けど、またエラーが発生。
$ yarn add --dev jest
yarn add v1.22.11
[1/4] 🔍 Resolving packages...
[2/4] 🚚 Fetching packages...
error human-signals@2.1.0: The engine "node" is incompatible with this module. Expected version ">=10.17.0". Got "10.14.2"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.
若干エラー分が変わり、今度はバージョンを10.17.0以上に変えろとのこと。
また、同じようにバージョンを切り替える作業を実行。
$ nodebrew install-binary v10.17.0 #v10.17.0をインストール
Fetching: https://nodejs.org/dist/v10.17.0/node-v10.17.0-darwin-x64.tar.gz
##################################################################################################################################################################################################### 100.0%
Installed successfully
$ nodebrew use v10.17.0 #使用するバージョンをv10.17.0に変更
use v10.17.0
$ node -v #nodeのバージョン確認
v10.17.2
またまた、jestを追加するコマンドを実行。
$ yarn add --dev jest
yarn add v1.22.11
[1/4] 🔍 Resolving packages...
[2/4] 🚚 Fetching packages...
[3/4] 🔗 Linking dependencies...
[4/4] 🔨 Building fresh packages...
success Saved lockfile.
success Saved 1 new dependency.
info Direct dependencies
└─ jest@27.1.0
info All dependencies
└─ jest@27.1.0
✨ Done in 2.22s.
遂に成功し、無事jestが使えるようになった!
yarn testを実行したところ、しっかりテストが行われた。
$ yarn test
yarn run v1.22.11
$ yarn lint:types && jest --no-cache
$ yarn tsc --noEmit -p .
$ /Users/yoshida/Exercism/typescript/hello-world/node_modules/.bin/tsc --noEmit -p .
PASS ./hello-world.test.ts
Hello World
✓ says hello world (6 ms)
Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 0.73 s
Ran all test suites.
✨ Done in 7.40s.