Javascript projects.map不是jest cli的函数
我正在编写一个react应用程序,并用笑话测试它。但是,每当我从终端运行Javascript projects.map不是jest cli的函数,javascript,reactjs,typescript,jestjs,Javascript,Reactjs,Typescript,Jestjs,我正在编写一个react应用程序,并用笑话测试它。但是,每当我从终端运行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)
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)
有人遇到过这个错误并且知道如何修复吗?刚刚遇到了同样的问题。如果仔细观察堆栈跟踪,您会发现您运行了两种不同的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)
它们可能有不同(且不兼容)的版本。
如果从项目(或从全局
节点\ u模块
)中删除jest,则应该可以解决此问题。如果在项目中更新jest,但只从命令行(而不是从节点\ u模块)使用jest运行它,则会发生这种情况
要修复此问题,您需要更新您的全局jest:
npm安装-g jest
我在本地和项目安装jest cli时遇到了相同的问题。我删除了jest cli的项目安装并解决了问题。我也遇到了同样的问题。我将字符串传递给“projects”参数,而不是数组
将字符串“projectPath”包装在[]中为我修复了它(它位于一个Gulp任务中):
我不知道这里的确切解决方案,但是.map是阵列原型的一部分。你能展示一下你的jest配置吗?是所有测试都失败了,还是只有一个测试失败了?@Nick,我用jest配置更新了这个问题。这是失败的所有测试。即使我删除了所有的测试,这个错误仍然会出现。从项目中删除Jest肯定是最后的选择。当您知道在您的项目上运行/运行哪个版本的Jest时,任何参与您的项目的人,甚至您自己6个月后都会感谢您。我的问题与我输入dirname而不是[dirname]时的问题类似。另外,我现在在v22上,所以上面的答案可能适用于以前的版本。重新安装并没有解决我的问题。
...(/Users/DavidHu/Desktop/coding/projects/swapnow/node_modules/jest-cli/build/cli/runCLI.js:172:28)
var jestCLI = require('jest-cli');
...
jestCLI.runCLI({'onlyChanged': true}, [projectPath], callback);