未找到 EMCC - 仅在 emsdk 中工作,在终端中全局工作



我是一个新的Linux用户,希望让emscripten emcc命令在Ubuntu上全局工作。

这是我当前的配置:

LLVM_ROOT = '/home/mpaccione/Projects/emsdk/upstream/bin'
BINARYEN_ROOT = '/home/mpaccione/Projects/emsdk/upstream'
EMSCRIPTEN_ROOT = '/home/mpaccione/Projects/emsdk/upstream/emscripten'
NODE_JS = '/home/mpaccione/Projects/emsdk/node/12.9.1_64bit/bin/node'
TEMP_DIR = '/tmp'
COMPILER_ENGINE = NODE_JS
JS_ENGINES = [NODE_JS]

如果我在/var/www/html/collision-detection-wasm/hello-world ...找不到命令"EMCC"。

我按照安装说明进行操作,但它们没有按照我预期的方式工作。我需要它在全球范围内工作,否则它没有用。

我如何在 Ubuntu Linux 上做到这一点?

为了使用emcc它需要在你的$PATH中。

为此,您可以在终端中运行source /path/to/emsdk/emsdk_env.sh

或者,如果您想使其永久化,您可以将相同的命令添加到启动脚本中(例如$HOME/.bash_profile$HOME/.bashrc(。

这在 https://emscripten.org/docs/getting_started/downloads.html 有记录。

劫持@sbc100的答案以进一步澄清事情以回答OP作为评论提出的问题。

为了使用emcc需要设置 PATH 和其他环境变量。

从文档中可以看出,命令source ./emsdk_env.sh(如果您不在emsdk目录中,则source /path/to/emsdk/emsdk_env.sh(对当前终端执行此操作。

如果你想让这种效果是永久性的,那就按照@sbc100说的去做。例如,只需将其添加到bashrc文件中,只需在末尾插入新行source /path/to/emsdk/emsdk_env.sh即可。这将使脚本在每次终端打开时运行。这可能很烦人,因为它输出添加到 PATH 的内容以及设置了哪些环境变量。

或者,也可以手动将条目添加到脚本善意告诉我们的bashrc中。对我来说,这意味着插入以下行:

## Emscripten ########
export PATH="/home/dudly01/repos/github/emsdk:$PATH"
export PATH="/home/dudly01/repos/github/emsdk/upstream/emscripten:$PATH"
export PATH="/home/dudly01/repos/github/emsdk/node/14.18.2_64bit/bin:$PATH"
export EMSDK="/home/dudly01/repos/github/emsdk"
export EM_CONFIG="/home/dudly01/repos/github/emsdk/.emscripten"
export EMSDK_NODE="/home/dudly01/repos/github/emsdk/node/14.18.2_64bit/bin/node"

但是,我认为这些线路需要随着项目的发展进行调整。

最新更新