在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);
答案 0 :(得分:0)
好的,我相信我发现了问题:我需要编辑 .emscripten 文件并更改
NODE_JS='/home/jackalope/emsdk/node/8.9.1_32bit/bin/node'
到
NODE_JS='node'