运行react-scriptstesting时出现“错误:产生git ENOENT”

我有一个使用create-react-app的项目。 当我第一次创build项目时,testing运行良好。 我决定运行一段时间后没有运行testing(我还没有写任何生成的testing类是我所有),现在我得到以下错误:

 Determining test suites to run...Error: spawn git ENOENT at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32) at onErrorNT (internal/child_process.js:344:16) at nextTickCallbackWith2Args (node.js:442:9) at process._tickCallback (node.js:356:17) 

Git肯定是在路上,我可以从命令行运行git --version ,并按预期输出。 如果我在cygwin或windows命令行中运行,会得到相同的错误。

我的package.json如下所示:

 { "name": "my-app", "version": "0.1.0", "private": true, "dependencies": { "immutable": "^3.8.1", "react": "^15.5.4", "react-dom": "^15.5.4" }, "devDependencies": { "react-scripts": "0.9.5" }, "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test --env=jsdom", "eject": "react-scripts eject" } } 

编辑:一些玩了一段时间后,我发现我的testing只有当项目在一个混帐存储库中失败。 如果我拿了一个项目的副本,没有“.git”文件夹,然后从副本运行testing,他们都运行良好。

我终于弄清楚是什么原因造成的。 关于我的本地设置的一些事情,当git作为Jest观察者的一部分启动时,导致错误(仍然不清楚是什么)。 从创build反应应用程序文档:

默认情况下,当你运行npm test时,Jest将只运行与自上次提交以来更改的文件相关的testing。 这是一个优化devise,使您的testing运行速度快,无论您有多lesstesting。 但是,它假设你不经常提交没有通过testing的代码。

资源

运行testing,就好像它们在configurationset CI=true&&npm test的CI环境中运行一样,绕过了git的function,我可以运行我的testing。 更多信息在这里

在这个笑话项目中还有一个开放的bug: https : //github.com/facebook/jest/issues/3214