नोड हमेशा के लिए / usr / bin / env: नोड: ऐसी कोई फ़ाइल या निर्देशिका नहीं


108

मैंने प्रयोग करके नोडज स्थापित किया है:

apt-get install nodejs

तब मैंने npm का उपयोग करके स्थापित किया है:

apt-get install npm

और फिर मैंने हमेशा के लिए इंस्टॉल कर लिया है:

npm install forever -g

अब मैं अपने प्रोजेक्ट पर जाता हूं /var/www/myproject

और चलाने का प्रयास forever start server.js

तब मुझे निम्न संदेश मिलता है:

/usr/bin/env: node: No such file or directory

क्या कोई मुझे बता सकता है कि क्या चल रहा है?



1
मुझे यह बग मिलता है और मैं नोड संस्करण प्रबंधक का उपयोग कर रहा हूं।
मुंचस्चिर

जवाबों:


270

EDIT: दिसंबर 2018 तक, यह अब सही तरीका नहीं है। अन्य दो उत्तर देखें।

आपको नोड के लिए निष्पादन योग्य नोडज को सहानुभूति की आवश्यकता है sudo ln -s "$(which nodejs)" /usr/local/bin/nodeइसका कारण यह है कि जब आप " एप-गेट इंस्टॉल नोड" करते हैं, तो यह एक असंबंधित पैकेज स्थापित करता है, इसलिए उन्हें एक अलग नाम चुनना होगा ताकि यह संघर्ष न हो


4
क्या है $ (जो नोडज) "कोड है जिसे आप कुछ पेस्ट करते हैं मुझे बस पेस्ट कॉपी करना चाहिए या?
मार्क रासमुसेन

11
"$ (जिसे नोडज)" नोडज के निष्पादन योग्य का मार्ग मिलता है। जब आप "$ ()" के अंदर कुछ डालते हैं, तो यह निष्पादित हो जाता है और फिर युक्त कमांड में डाला जाता है
chedabob

2
@chedabob मुझे उसी समस्या का सामना करना पड़ा है, लेकिन मैंने अभी तक इसे हल नहीं किया है, जब मैं उस समय आपकी कमांड चला रहा था, मुझे ln मिला: प्रतीकात्मक लिंक '/ usr / बिन / नोड' बनाने में विफल: फाइल मौजूद है
DASADIYA AAITANYA

@ dasadiya-chaitanya उस मामले में सुनिश्चित करें कि मौजूदा फ़ाइल निम्नलिखित को चलाकर एक सही नोड निष्पादन योग्य की ओर इशारा कर रही है। ls -लार्ट / यूएसआर / बिन / नोड। यदि सिम्लिंक सही बाइनरी की ओर इशारा नहीं कर रहा है, तो उस स्थिति में इसे हटा दें। और निम्नलिखित को फिर से चलाएं: sudo ln -s "$ (जो नोडज)" / usr / bin / node
brownmamba

4
डेबियन और उबंटू पर, nodejs-legacyप्रतीकात्मक लिंक प्रदान करने वाला एक पैकेज है । आप इसे मैन्युअल रूप से करने वाले नहीं हैं। apt-get install nodejs-legacyसमस्या को ठीक करने का सही तरीका है, नीचे मेरा जवाब देखें।
क्लेमेंट श्रेयर

45

जबकि स्वीकृत उत्तर समस्या को ठीक करता है, ऐसा करने का सही तरीका, कम से कम डेबियन जेसी और फॉरवर्ड और उबंटू 14.4 और फॉरवर्ड 1 में नोडज-लीगेसी स्थापित करना है :

apt-get install nodejs-legacy

कारण यह है कि डेबियन के पास पहले से ही एक पैकेज (नोड) / यूएसआर / बिन / नोड उपलब्ध था , और नोडज नोड बाइनरी को / यूएसआर / बिन / नोडज में स्थापित किया जाना था।

NodeJS-विरासत पैकेज / usr / bin / NodeJS को / usr / bin / नोड (और के साथ संघर्ष से एक प्रतीकात्मक लिंक प्रदान करता है नोड पैकेज)।

स्रोत: [CTTE # 614907] नोड / नोडज संघर्ष का समाधान और डेबियन बग # 614907: नोड: नोड के साथ संघर्ष का नाम। दुभाषिया


यह डेबियन / उबंटू +1 पर सही तरीका है, ओएस से परिचित नहीं लोगों के लिए महान संदर्भ।
लिगमेकर

18

यदि आप नवीनतम नोड संस्करण में अपडेट करते हैं तो बेहतर है

  1. sudo npm कैश क्लीन -f
  2. sudo npm स्थापित -gn
  3. सुडो n स्थिर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.