【问题标题】:Python - Node.js (V8) runtime is not available on this systemPython - Node.js (V8) 运行时在此系统上不可用
【发布时间】:2015-11-06 14:24:09
【问题描述】:

我在尝试使用 ExecJS 时遇到以下错误:

execjs.RuntimeUnavailable: Node.js (V8) runtime is not available on this system

我的机器上安装了 node.js (Ubuntu 14.04)。 Which Node 输出/usr/bin/node

有什么想法吗?

【问题讨论】:

  • 你是如何安装node.js的,通过默认的repos,添加了repo,nvm?
  • 数字海洋 - NodeJS 包
  • 你能输出execjs.get().name吗?您是否尝试过将EXECJS_RUNTIME 环境变量显式设置为"Node"
  • @tsturzl _auto_detect raise RuntimeUnavailable("Could not find a JavaScript runtime.") execjs.RuntimeUnavailable: Could not find a JavaScript runtime.
  • 你试过设置上面贴的环境变量吗?

标签: python node.js ubuntu ubuntu-14.04 digital-ocean


【解决方案1】:

您好,我之前遇到过同样的问题,现在解决了:

Node.js not found by Rails / execjs

【讨论】:

    【解决方案2】:

    确保您确实拥有文件 /usr/bin/node。如果它是符号链接,请确保目标存在且有效。

    我知道which node 给了你结果,但请确保它在 python 的环境中是相同的。

    print os.environ.get('PATH', '')
    

    并确保您的/usr/bin/node 可由当前用户执行。

    $ node --version
    

    【讨论】:

      【解决方案3】:

      要了解正在发生的事情,您可能想尝试“strace yourapp”(系统调用跟踪器)或 strace -p $PID (-f 有助于跟踪分叉)然后 grep 输出 node.在抛出错误之前,您将看到它试图打开/启动的内容。

      这样您将在配置或环境中寻找一些东西,必须将其更改为您的节点真正可以找到的路径。

      【讨论】:

        【解决方案4】:

        当您尝试使用 ExecJS 时,您要以什么用户身份运行?尝试执行 ExecJS 的帐户可能无法使用节点的 ENV 路径。这可能是一个愚蠢的想法,但您是否尝试过重新安装 nodejs?

        sudo apt-get install nodejs

        【讨论】:

          【解决方案5】:

          你见过this similar issue

          他们通过链接/usr/local/bin/node下的节点来解决问题

          ln -s /usr/local/bin/node /usr/bin/node
          

          【讨论】:

          • 我认为这不是我想要的,因为我的 Which Node 已经输出了 /usr/bin/node 所以从本地创建链接不会做任何事情
          • 这有助于我让 Intellij Idea 识别通过 NVM 安装的节点
          猜你喜欢
          • 2016-03-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-02-14
          • 2011-07-26
          • 2010-09-08
          • 2016-04-15
          相关资源
          最近更新 更多