2015-08-13 22 views
8

我越来越想使用ExecJS如果出现以下错误的:Python的 - 的Node.js(V8)运行时无法使用该系统

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

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

任何想法?

+0

您是如何安装node.js,通过默认回购,添加回购,nvm? – tsturzl

+0

数字海洋 - NodeJS包 – user3662307

+0

你能输出'execjs.get().name'吗?你有没有试过明确设置一个'EXECJS_RUNTIME'环境变量到''Node“'? – tsturzl

回答

0

你见过this similar issue

他们通过链接/usr/local/bin/node

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

我不认为这是我正在寻找作为我的'哪个节点'已经输出'/ usr/bin/node“,所以从本地创建链接将不会执行任何操作 – user3662307

0

当你试图使用ExecJS节点下解决问题,哪些用户是你想为运行?尝试执行ExecJS的帐户可能无法使用节点的ENV路径。可能这可能是一个愚蠢的想法,但你有没有尝试重新安装nodejs?

命令和apt-get安装的NodeJS

0

为了得到一些有识之士所发生的事情,你可能想尝试 “strace的yourapp”(系统调用跟踪),或使用strace -p $ PID(-f帮助下叉)然后grep节点的输出。在抛出错误之前,你会看到它试图打开/开始。

这样,你将有一些在配置或环境中寻找,必须改变的路径节点你真的可以找到。

0

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

我知道which node给你的结果,但只是确保它在python的environtment相同。

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

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

$ node --version 
1

您好,我有同样的问题之前,这解决了它:

Node.js not found by Rails/execjs

PS:这样做是否解决您发出记住我的答案是正确的! :P