पर नोड लोड नहीं करता है अगर विषय अस्पष्ट है, तो मुझे क्षमा करें, लेकिन मैंने अपनी समस्याओं का सबसे अच्छा वर्णन करने की कोशिश की। मेरे पास रास्पबेरी पीआई है जिसे मैं कोडशिप का उपयोग करने के लिए तैनात करना चाहता हूं। फाइलों को जबरन करना पूरी तरह से काम करता है, लेकिन जब मैं pm2
का उपयोग कर अपने आवेदन को पुनरारंभ करना चाहता हूं तो मेरी समस्या होती है।बैश रिमोट एसएसएच कमांड
मैंने नोड संस्करण प्रबंधक एनवीएम का उपयोग करके नोड और pm2 स्थापित किया है।
ssh [email protected] 'source /home/pi/.bashrc; cd project; pm2 restart app.js -x -- --prod'0 min 3 sec
bash: pm2: command not found
मैं भी जोड़ लिया है:
shopt -s expand_aliases
मेरी bashrc
के तल में, लेकिन यह मदद नहीं करता है।
मैंने तैनाती करने के बाद इसे अपने एप्लिकेशन को पुनरारंभ कैसे कर सकता हूं? आपकी ऋषि सलाह और बेहतर ज्ञान के लिए अग्रिम धन्यवाद!
संपादित करें 1: मेरी .bashrc http://pastie.org/10529200 मेरे $ पथ: /home/pi/.nvm/versions/node/v4.2.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
संपादित 2: मैं /home/pi/.nvm/versions/node/v4.2.0/bin/pm2
जोड़ा जो PM2 का पूर्ण पथ है और अब मैं निम्नलिखित त्रुटि मिलती है: /usr/bin/env: node: No such file or directory
ऐसा लगता है कि अगर मैं पूरा पथ प्रदान करता हूं, तो नोड निष्पादित नहीं होता है।
'एक उपनाम pm2' है? यदि ऐसा है तो यह शायद काम नहीं करेगा। इसे संभालने और उस स्क्रिप्ट को निष्पादित करने के लिए एक स्क्रिप्ट लिखना बेहतर है। इसके अलावा आपके पास एसएसएच कमांड एक खोल में चल रहा है, हालांकि यह एक अच्छी धारणा नहीं है। शायद आपके एसएसएच कमांड को '"/ bin/bash -c' स्रोत के साथ शुरू करें .... '' 'जो ऊपर एक स्क्रिप्ट टिप्पणी लिखने के लिए वापस ले जाता है। अंत में, क्या 'pm2' कमांड को tty की आवश्यकता होती है? '-t' विकल्प के साथ एक टीटी आवंटित नहीं किया जाएगा। कुछ कार्यक्रम मानते हैं कि आपके पास एक उदाहरण है, जिसे आमतौर पर आपके द्वारा प्रदान किए गए उदाहरण के विपरीत एक इंटरैक्टिव खोल से निष्पादित किया जाता है। – Sukima
सुझाव के लिए धन्यवाद, दुख की बात है कि इससे कोई फर्क नहीं पड़ता। आपने जो सुझाव दिया है उसका प्रयास किया, और यहां तक कि '/ bin/bash -c "nvm भी 4.2.0" 'node को प्रयोग करने और सक्षम करने के लिए जोड़ा गया। दुर्भाग्य से यह काम नहीं करता है। '/ bin/bash: nvm: कमांड नहीं मिला /bin/bash: pm2: कमांड नहीं मिला – Ms01
शायद समाधान एनवीएम जैसे संस्करण प्रबंधक का उपयोग करने के बजाय नोड स्थापित करना है? मैं काम करने के लिए एनवीएम होने का पक्ष लेगा क्योंकि यह बहुत आसान स्विचिंग संस्करण है। – Ms01