मेरे पास इस के साथ एक स्क्रिप्ट है जैसे शेबांग  #! / Usr / bin / env नोड । 
 जब क्रोन मेरी स्क्रिप्ट चलाता है, तो मुझे यह त्रुटि मिलती है  / usr / bin / env: node: ऐसा कोई फ़ाइल या निर्देशिका  नहीं। 
जब मैं स्क्रिप्ट मेरे उपयोगकर्ता के रूप में स्क्रिप्ट ठीक चलती है, क्रोन के रूप में नहीं। मैं इसे अनुमान लगा रहा हूँ क्योंकि नोड उपयोगकर्ता के पैथ पर नहीं है जो क्रोन चलाता है?
मैं इस शेबांग को क्रॉन के साथ कैसे काम करूं?
  $ जो नोड  मुझे  /home/myuser/.nvm/v0.11.14/bin/node  
 क्रोन नौकरियां एक सीमित वातावरण में चलती हैं। इंटरैक्टिव शेल में, आपका  $ PATH  शायद आपके  $ HOME / .bash_profile  या  $ HOME / .bashrc  में सेट किया गया है। क्रोन जॉब्स एक ऐसी वातावरण में निष्पादित होती हैं, जो उन फ़ाइलों को नहीं खिसकाती है, इसलिए आपका उपयोगकर्ता-विशिष्ट  $ PATH  सेटिंग्स उपलब्ध नहीं होंगी। 
आप देख सकते हैं कि कैसा वातावरण दिखता है अस्थायी रूप से एक क्रॉन्टाब प्रविष्टि बनाकर जैसे:
  * * * * * * * प्रिंटनव & gt; Crontab-environment    आप अपने crontab में स्पष्ट रूप से  $ PATH  सेट कर सकते हैं, या तो कमांड में ही: 
  * * * * * पाथ = $ पैट: / होमे / मैयूसर / एनएनएम / v0.11.14 / बीबी /    या अपने कॉन्टैबैब में एक अलग पंक्ति में:  
  PATH = /usr/bin:/bin:/home/myuser/.nvm/v0.11.14/bin  
  आप (सीधे) सामान्य  PATH = $ का उपयोग नहीं कर सकते हैं पैठ: / new / dir  वाक्यविन्यास को एक वातावरण सेटिंग पंक्ति में अपने  $ PATH  में डालने के लिए, क्योंकि इस तरह की पंक्ति में चर संदर्भों की जगह नहीं होती है   
   
         स्क्रिप्ट में ही पथ, 
   #! / Usr / bin / env नोड  
  से 
   #! /home/myuser/.nvm/v0.11.14/bin/node  
  आपको इसे प्रत्येक सिस्टम के लिए कस्टमाइज़ करने की आवश्यकता होगी जहां  नोड  को किसी भिन्न में स्थापित किया गया है जगह। या आप  नोड  (या  nodejs ?) को सुसंगत स्थान पर स्थापित करने की व्यवस्था कर सकते हैं। 
 
No comments:
Post a Comment