如何告诉Emscripten SDK在哪里找到Node?

时间:2018-03-26 03:42:38

标签: node.js emscripten

在ODROID SBC的Debian Jessie下遇到emsdk问题。当我输入“emsdk list”时,它显示节点确实已安装:

import os
LLVM_ROOT='/home/jackalope/emsdk/clang/tag-e1.37.36/build_tag-e1.37.36_32/bin'
NODE_JS='/home/jackalope/emsdk/node/8.9.1_32bit/bin/node'
EMSCRIPTEN_ROOT='/home/jackalope/emsdk/emscripten/tag-1.37.36'
EMSCRIPTEN_NATIVE_OPTIMIZER='/home/jackalope/emsdk/emscripten/tag-1.37.36_32bit_optimizer/optimizer'
SPIDERMONKEY_ENGINE = ''
V8_ENGINE = ''
TEMP_DIR = '/tmp'
COMPILER_ENGINE = NODE_JS
JS_ENGINES = [NODE_JS]

然而,当我输入 emcc -v 来检查警告时,我得到:

  

INFO:root:检查JS引擎   ['/home/jackalope/emsdk/node/8.9.1_32bit/bin/node']失败了。检查你的   配置文件。详细信息:[Errno 8] Exec格式错误警告:root:不能   check node version:[Errno 8] exec格式错误信息:root:(Emscripten:   运行健全性检查)CRITICAL:root:用于的JavaScript shell   编译(['/home/jackalope/emsdk/node/8.9.1_32bit/bin/node'])   似乎没有用,检查/home/jackalope/.emscripten

中的路径

在它检查的位置看起来有一个名为“node”的二进制文件,但由于某种原因,它期望采用不同的格式。我正在查看提到的 .emscripten 文件,但不确定路径应该是什么。它如下:

var array = [5,44,23,11,55,68];
array.average = () => {
 var total = 0;
  for (var i = 0; i < array.length; i++) {
   total += array[i];
  }
 var avg = total / array.length;
 return avg;
}

var avg = array.average();
console.log(avg);

1 个答案:

答案 0 :(得分:0)

好的,我相信我发现了问题:我需要编辑 .emscripten 文件并更改

NODE_JS='/home/jackalope/emsdk/node/8.9.1_32bit/bin/node'

NODE_JS='node'