私は反応アプリを書いて、それを冗談でテストしています。ただし、ターミナルからjest
コマンドを実行するたびに、このエラーが発生します。
TypeError: projects.map is not a function
at Object.<anonymous> (/Users/DavidHu/Desktop/coding/projects/swapnow/node_modules/jest-cli/build/cli/runCLI.js:172:28)
at next (native)
at step (/Users/DavidHu/Desktop/coding/projects/swapnow/node_modules/jest-cli/build/cli/runCLI.js:18:30)
at /Users/DavidHu/Desktop/coding/projects/swapnow/node_modules/jest-cli/build/cli/runCLI.js:34:14
at Object.<anonymous> (/Users/DavidHu/Desktop/coding/projects/swapnow/node_modules/jest-cli/build/cli/runCLI.js:15:12)
at Object.module.exports [as runCLI] (/Users/DavidHu/Desktop/coding/projects/swapnow/node_modules/jest-cli/build/cli/runCLI.js:2 03:17)
at Object.run (/Users/DavidHu/.nvm/versions/node/v6.2.1/lib/node_modules/jest-cli/build/cli/index.js:42:17)
at Object.<anonymous> (/Users/DavidHu/.nvm/versions/node/v6.2.1/lib/node_modules/jest-cli/bin/jest.js:16:25)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
node_modules
エラーの原因となっているコード行を確認するには、projects
はプロジェクトの現在のパスの文字列です。
これがpackage.json
"jest": {
"transform": {
".(ts|tsx)": "<rootDir>/node_modules/ts-jest/preprocessor.js"
},
"testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$",
"moduleFileExtensions": [
"ts",
"tsx",
"js"
]
}
誰かがこのエラーに遭遇し、それを修正する方法を知っていますか?
同じ問題が発生しました。スタックトレースをよく見ると、2つの異なるJestセットアップを実行していることがわかります。
グローバルにインストールされたjest:
...(/Users/DavidHu/.nvm/versions/node/v6.2.1/lib/node_modules/jest-cli/bin/jest.js:16:25)
プロジェクトからの冗談:
...(/Users/DavidHu/Desktop/coding/projects/swapnow/node_modules/jest-cli/build/cli/runCLI.js:172:28)
彼らはおそらく異なる(そして互換性のない)バージョンを持っています。プロジェクト(またはグローバルnode_modules
)からjestを削除すると、問題が解決します。
これは、プロジェクトのjestを更新したが、コマンドラインから(node_modulesからではなく)jest
だけを使用して実行した場合に発生します。
修正するには、グローバルjestを更新する必要があります。
npm install -g jest
同じ問題がありました。配列ではなく文字列を「projects」パラメーターに渡していました。
文字列 'projectPath'を[]でラップすると修正されました(これはGulpタスク内にあります):
var jestCLI = require('jest-cli');
...
jestCLI.runCLI({'onlyChanged': true}, [projectPath], callback);
私はjest-cliのローカルおよびプロジェクトのインストールで同じ問題に遭遇しました。 jest-cliのプロジェクトインストールを削除し、問題を解決しました。