我正在尝试使用该execSync
包来获得同步 shell 功能。虽然我最初由于缺少文件而遇到问题,但我通过在适当的目录中binding.node
运行来解决它。现在,我可以毫无问题地调用节点内的函数。node-gyp
execSync
execSync
但是,当我尝试使用流星中的函数时,出现以下错误:
Running on: http://localhost:3000/
/usr/lib/meteor/bin/node: symbol lookup error: /home/onur/node_modules/execSync/node_modules/ffi/node_modules/ref/build/Release/binding.node: undefined symbol: _ZNK2v85Value6IsNullEv
Exited with code: 127
Your application is crashing. Waiting for file change.
笔记:
通过网络快速检查表明该符号属于 V8 库。
编码
我在Meteor.methods
.
getpuzzle: function (clu, lo, hi) {
var require = _meteor_bootstrap__.require;
var exec = require('execSync');
var sudoku_str = exec.stdout(path_sudoku_gen+" "+clu+" "+lo+" "+hi);
console.log(sudoku_str);
return sudoku_str;
}
我试图弄清楚服务器和客户端之间的交互。基本上,我正在尝试这样做。客户端的函数需要一个字符串,该字符串由服务器端执行的 python 脚本返回。我尝试使用全局变量进行肮脏的破解,但这仍然无关紧要,因为脚本是异步运行的。我可以在没有同步执行的情况下做到这一点吗?我无法完全掌握客户端-服务器交互的模型,所以如果有正确的方法,请随时纠正我。