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

Posted

技术标签:

【中文标题】如何告诉 Emscripten SDK 在哪里可以找到 Node?【英文标题】:How do I tell the Emscripten SDK where to find Node? 【发布时间】:2018-03-26 03:42:37 【问题描述】:

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

       node-4.1.1-32bit
       node-4.1.1-64bit
 *     node-8.9.1-32bit             INSTALLED
       node-8.9.1-64bit

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

INFO:root:检查 JS 引擎 ['/home/jackalope/emsdk/node/8.9.1_32bit/bin/node'] 失败。检查你的 配置文件。详细信息:[Errno 8] Exec 格式错误 WARNING:root:cannot 检查节点版本:[Errno 8] Exec format error INFO:root:(Emscripten: 运行健全性检查)CRITICAL:root:javascript shell 用于 编译 (['/home/jackalope/emsdk/node/8.9.1_32bit/bin/node']) 确实 似乎不起作用,请检查 /home/jackalope/.emscripten 中的路径

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

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]

【问题讨论】:

在我解决了这个问题后,为了清楚起见,编辑了这个问题。我可以理解为什么它被否决了,但有时你不知道如何表达这个问题,直到你发现根本问题是什么。 【参考方案1】:

好的,我相信我找到了问题:我需要编辑 .emscripten 文件并进行更改

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

NODE_JS='node'

【讨论】:

以上是关于如何告诉 Emscripten SDK 在哪里可以找到 Node?的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 18.04 下 emscripten SDK 的安装

Ubuntu 18.04 下 emscripten SDK 的安装

我应该在 JS 中哪里定义 emscripten extern 函数?

OSX 上的 Google App Engine SDK 路径在哪里?

Emscripten/NodeJS:使实际的文件系统默认可用

如何告诉 visualvm 在哪里可以找到我的源代码?