2015-08-13 53 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