2013-10-17 6 views
6

का उपयोग करते समय नोड नहीं ढूंढ सकता है, मैं सिस्टम पर अपने Node.js संस्करणों को प्रबंधित करने के लिए एनवीएम का उपयोग कर रहा हूं, और जब से मैंने इसे इंस्टॉल किया है तो मेरे रेल ऐप्स काम करना बंद कर देते हैं।रेल निष्पादन एनवीएम

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

क्या कार्रवाई NVM बनाने के लिए आवश्यक हैं ExecJS साथ अच्छी तरह से खेलते हैं:

ExecJS त्रुटि है, नोड क्रम को खोजने के लिए प्रतीत नहीं कर सकते हैं?

+2

क्या आपने अपने रेल आवेदन चलाने से पहले 'एनवीएम उपयोग [YOUR_VERSION]' चलाने का प्रयास किया था? – 19WAS85

+0

आपके रेल पर्यावरण सेटअप कैसे है? यदि आप यात्री का उपयोग कर रहे हैं तो मार्ग का उपयोग करने वाले पथ से एनवीएम उपयोग पथ से गुम हो सकता है। Http://stackoverflow.com/questions/14187681/node-js-not-found-by-rails-execjs/24020042#24020042 पर मेरा उत्तर देखें, यह समस्या का निदान करने में आपकी सहायता कर सकता है। –

+0

@WagnerAndrade धन्यवाद! 'एनवीएम उपयोग' मेरे लिए काम किया। – dolzenko

उत्तर

1

हमारे मामले में, हम जब तक आप एक "डिफ़ॉल्ट" nodenvm के माध्यम से सेट है आदेश

bundle exec puma -C config/puma.rb 

साथ एक "नियमित" उपयोगकर्ता के रूप में रेल चला रहे हैं, आप ठीक होना चाहिए।

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.30.2/install.sh | bash 
nvm install v0.12.7 
nvm alias default v0.12.7 

अगली बार जब आप यह है कि उपयोगकर्ता के रूप में प्रवेश, which nodenvm के तहत पथ का संकेत देना चाहिए:

~/.nvm/versions/node/v0.12.7/bin/node 

इसी तरह, रेल के रूप में उपयोग करने के लिए है कि node लेने होंगे।

2

बस इस मुद्दे में खुद ही भाग गया। असल में, एनवीएम अच्छा है क्योंकि यह आपको एक कंप्यूटर पर सूडो विशेषाधिकारों के बिना नोड के कई अलग-अलग संस्करणों को स्थापित और चलाने की अनुमति देता है। चूंकि कई संस्करण हैं, इसलिए यह आपके लिए आपके खोल में एक संस्करण स्वचालित रूप से लोड नहीं होता है, आपको यह निर्दिष्ट करना होगा कि आप किस का उपयोग करना चाहते हैं। nvm use default वर्तमान शेल में डिफ़ॉल्ट नोड वातावरण लोड करता है (डिफ़ॉल्ट रूप से आप एक विशिष्ट संस्करण निर्दिष्ट कर सकते हैं), लेकिन जब यह बंद हो जाता है तो यह काम करना बंद कर देगा। परिवर्तन को स्थायी बनाने के लिए, nvm alias default node का उपयोग करें, अधिक जानकारी के लिए this issue देखें।

संबंधित मुद्दे