【问题标题】:execSync with meteorexecSync 与流星
【发布时间】:2013-01-12 03:54:45
【问题描述】:

我正在尝试使用 execSync 包来获得同步 shell 功能。虽然我最初因为缺少binding.node 文件而遇到问题,但我通过在正确的execSync 目录中运行node-gyp 解决了它。现在,我可以毫无问题地在节点内调用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;                                        
}    

我试图弄清楚服务器和客户端之间的交互。基本上,我正在尝试做this。客户端的函数需要一个字符串,该字符串由服务器端执行的 python 脚本返回。我尝试使用全局变量进行肮脏的破解,但这仍然无关紧要,因为脚本是异步运行的。我可以在没有同步执行的情况下做到这一点吗?我无法完全掌握客户端-服务器交互的模型,所以如果有正确的方法,请随时纠正我。

【问题讨论】:

    标签: node.js meteor


    【解决方案1】:

    由于您没有显示代码,我假设您的要求行失败。您必须使用 Meteor 包装器,而不是标准的 node.js

    var require = __meteor_bootstrap__.require;
    var path = require('path')
    

    【讨论】:

      猜你喜欢
      • 2014-10-27
      • 2012-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-27
      • 2012-10-10
      • 2015-08-02
      • 1970-01-01
      相关资源
      最近更新 更多