नोड हमेशा के लिए / 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.