在IO.js 1.4.3中使用require()时Jest(JS)分段错误11

我使用IO.js 1.4.3和Jest来运行我的testing套件。 我需要更新版本的V8,因为我使用了Promise等ES6function。

如果我尝试最简单的testing:

describe('the truth', function() { it('is true', function() { expect(true).toBeTruthy(); }); }); 

它工作(谢天谢地)。 但是,如果我包含一个require() (我必须testing自己的代码)的调用,我会得到:

 Using Jest CLI v0.4.0 Waiting on 1 test...Segmentation fault: 11 

无论我包含哪个模块,以及是否先打电话给jest.dontMock()jest.dontMock()发生这种情况。

这并不是真的告诉我很多的错误信息,并require真的似乎是问题。 有没有任何解决scheme,而不是恢复到1.0之前的node.js?

如果在某些版本中使用node安装了node_modules ,然后使用nvm install iojs切换到nvm install iojs并尝试使用npm运行已安装的node_modulesnode_modules发生这种情况。 这不太可能是你的问题,但希望其他人可以试试这个并修复它。

 nvm install iojs rm -rf node_modules npm install 

然后运行你正在运行的任何东西,通常是像npm run start这样的东西。

分段错误几乎总是来自本机C ++代码,因为JS不会导致这样的崩溃,除非它触发了V8的错误。 因此,我怀疑这个问题是与通过(通过jsdom)间接依赖的开源本地模块。

这可能是值得一试hack根据最新的jsdom,不再有本地模块依赖的一个版本的笑话。