为什么某些东西可能在节点中执行而不是在 REPL 中执行?

Why might something execute in node but not in the REPL?

我有以下脚本:

const lib = require('./lib.js');
const fs = require('fs');

const graph = fs.readFileSync('../js-working-dir/add_graph.pb', 'utf8');
const sess = new lib.Session(graph);
const results = sess.run({"a": 5, "b": 6}, ["o"]);
console.log(results[0]);

(上下文lib.js是一个编译好的emscripten模块,比较大,大约40MB,不然我就上传了。)

当我在节点中执行这个脚本时,它工作正常。但是,当我在 REPL(相同的工作目录和所有内容)中执行它时,我的代码挂在 const sess = new lib.Session(graph); 上。

知道为什么会这样吗? Emscripten 是否以不同方式对待 REPL 和节点执行?有什么方法可以调试卡住的地方吗?

非常感谢,

发现问题,似乎是 urandom 中的错误...

https://github.com/kripken/emscripten/issues/4905