एनपीएम एक ही त्रुटि देते हुए अटक गया EISDIR: एक निर्देशिका पर अवैध संचालन, त्रुटि (मूल) पर पढ़ें


102

मैं इस त्रुटि के साथ फंस गया हूं कि कोई भी बात नहीं है कि मैं किस निर्देशिका में हूं, और cmd.exe में "npm" के बाद मैं क्या टाइप करता हूं। यहाँ npm-debug.log है:

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js' ]
2 info using npm@2.14.12
3 info using node@v4.2.6
4 verbose stack Error: EISDIR: illegal operation on a directory, read
4 verbose stack     at Error (native)
5 verbose cwd C:\Users\me
6 error Windows_NT 6.1.7601
7 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js"
8 error node v4.2.6
9 error npm  v2.14.12
10 error code EISDIR
11 error errno -4068
12 error syscall read
13 error eisdir EISDIR: illegal operation on a directory, read
13 error eisdir This is most likely not a problem with npm itself
13 error eisdir and is related to npm not being able to find a package.json in
13 error eisdir a package you are trying to install.
14 verbose exit [ -4068, true ]

मैंने कई बार नोडज को पुनः स्थापित करने / पुन: स्थापित करने / स्थापित करने की कोशिश की है, मैंने C: \ Users \ me \ AppData \ Roaming में npm और npm-cache फ़ोल्डर भी हटा दिए हैं। मुझे यकीन नहीं है कि इसके कारण क्या गलत हुआ एक सेकंड यह ठीक काम कर रहा था, और अब मैं इस त्रुटि से छुटकारा नहीं पा सकता। लॉग में स्पष्टीकरण का कोई मतलब नहीं है, क्योंकि यह किसी भी निर्देशिका में यह त्रुटि देता है। मुझे ध्यान देना चाहिए कि प्रशासक के रूप में कमांड प्रॉम्प्ट चलाने से यह त्रुटि नहीं होती है। मैं इस शुक्रवार की शाम को अपने बालों को बाहर निकाल रहा हूं, यह तय करने की कोशिश कर रहा है, किसी भी मदद की बहुत सराहना की जाएगी!


1
मुझे यह त्रुटि सामान्य लग रही है जब लोग npm को अपडेट करते हैं, तो मुझे आश्चर्य होता है कि क्या यह त्रुटि तब शुरू हुई जब आपने npm को अपडेट किया था, या यदि आपने बिल्कुल भी अपडेट किया है?
क्लैविन

यह एक नया कंप्यूटर है इसलिए मैंने पिछले कुछ दिनों में नोड स्थापित किया था। मैं सिर्फ एक प्रशासक मोड में एक अद्यतन किया, लेकिन भाग्य नहीं
एक और

जवाबों:


61

मैं उसी समस्या में भाग गया जब मैं कुछ npm सेटिंग्स बदल रहा था। मैंने एक npm config setआदेश के साथ एक गलती की और इसमें एक गैर-मौजूदा निर्देशिका का उल्लेख करने वाली एक पंक्ति जोड़ी गई C:\Users\{User}\.npmrc। जब मैंने उस लाइन को मैन्युअल रूप से हटा दिया .npmrc, तब समस्या दूर हो गई थी।


1
मैं कितना मूर्ख हूँ? मैं एक सबफ़ोल्डर आहाहाह धन्यवाद में था।
सम्पगुन

मुझे भी, मैं एक वास्तविक फ़ाइल के बजाय एक फ़ोल्डर में कैफाइल की ओर इशारा कर रहा था, और हर npmकमांड ने पूरी तरह से काम करना बंद कर दिया, आपके जवाब से अलग कोई समाधान काम नहीं किया, धन्यवाद!
जियोर्जियो टेम्पेस्टा

194

EISDIR का अर्थ " एरर, इज़ डाइरेक्टरी " है। इसका मतलब है कि एनपीएम एक फ़ाइल के लिए कुछ करने की कोशिश कर रहा है लेकिन यह एक निर्देशिका है । आपके मामले में, एनपीएम एक फ़ाइल को " पढ़ने " की कोशिश कर रहा है जो एक निर्देशिका है (पंक्ति: 4)। चूंकि ऑपरेशन नहीं किया जा सकता है इसलिए त्रुटि डाली गई है।

यहां सुनिश्चित करने के लिए तीन चीजें।

  1. सुनिश्चित करें कि फ़ाइल मौजूद है। यदि यह नहीं है, तो आपको इसे बनाने की आवश्यकता है। (यदि एनपीएम फ़ाइल में किसी विशेष जानकारी पर निर्भर करता है, तो आपको वहां वह जानकारी होनी चाहिए)।
  2. सुनिश्चित करें कि यह वास्तव में एक फ़ाइल है और निर्देशिका नहीं है।
  3. इसकी सही अनुमति है। आप "sudo chmod 777 FILE_NAME" के साथ सभी अनुमतियों के लिए फ़ाइल बदल सकते हैं। (सावधान: आप उस फ़ाइल पर हर एक को रीड, राइट और एक्सक्यूट अनुमति दे रहे हैं)

13
यह स्वीकृत उत्तर imo होना चाहिए क्योंकि इसमें समस्या के बारे में जानकारी के साथ-साथ समाधान भी शामिल है
schu34

4
मैं कितना मूर्ख हूँ? मैं एक सबफ़ोल्डर आहाहाह धन्यवाद में था।
सम्पगुन

3
इस पर 3 घंटे बिताए। मेरे पास एक फ़ोल्डर था, जिसका नाम back-button.css था। 3 घंटे मैं कभी वापस नहीं आ रहा हूं। आपके लिए धन्यवाद यह 4. नहीं था
Loke

1
मुझे यह fs.writeFile का उपयोग करके मिला है - लेकिन एक त्रुटि ने मेरे प्रोग्राम को FileName पास करने से रोक दिया है इसलिए यह एक फ़ोल्डर पर लिखने की कोशिश कर रहा था। धन्यवाद।
नेल्स

1
यह सही है। ईमेल मैनेजर के लिए कोड लिखते समय NW.js डेस्कटॉप ऐप में नोडमाइलर का उपयोग करते हुए मुझे इस मुद्दे का सामना करना पड़ा । मैं अनुलग्नक के रूप में भेजने के लिए एक छवि फ़ाइल पढ़ने के बजाय निर्देशिका पढ़ने की कोशिश कर रहा था। आपका बहुत बहुत धन्यवाद।
हाईगुल

13

आज मेरी यही समस्या थी जब मैंने अपने npm को संस्करण 6.4.1 से संस्करण 6.5.0 में अपग्रेड किया था। मैंने इसे .pkg इंस्टॉलर (अधिकांश उपयोगकर्ताओं के लिए अनुशंसित) को n.js से डाउनलोड करके ठीक किया और बाद में इसे चला दिया।


ठीक उसी पद्धति ने मुझ पर मदद की
DNReNTi

मेरी मशीन में एक ही npm संस्करण स्थापित है, लेकिन मैं अभी भी समस्या का सामना कर रहा हूँ
गौरव पालीवाल

9

मेरे मामले में मुझे "EISDIR: अवैध संचालन एक निर्देशिका पर मिल रहा था, पढ़ें" क्योंकि मेरे .angular-cli.json फ़ाइल में मैं "स्क्रिप्ट:" में पूर्ण पथ प्रदान नहीं कर रहा था

उदाहरण के लिए मेरे पास था

"scripts": [
        "../node_modules/hammerjs",
        "../node_modules/moment"
      ],

वास्तव में यह होना चाहिए था

"scripts": [
        "../node_modules/hammerjs/hammer.min.js",
        "../node_modules/moment/min/moment.min.js"
      ],

7

मैक ओएस एक्स (होमब्रेव के साथ स्थापित) पर मेरे पास एक ही मुद्दा था, और .npmrc केवल वही जगह नहीं है जो संग्रहीत कॉन्फ़िगरेशन योग्य नोड्स है। एक ग्लोकल npmrc config फाइल / usr / लोकल / आदि में है जिसे आपको इस कमांड का उपयोग करके एडिट करना है:

sudo nano npmrc

ca=लाइन निकालें , या जो भी कॉन्फिगरेशन सेटिंग थी, वह आपके इंस्टॉल को तोड़ देती है, उस फाइल को सेव करती है, और npm को फिर से आज़माती है, और आपको इसे काम करते हुए देखना चाहिए।


मैं खुशी से मदद कर सकता है।
rncrtr

4

ये अजीब त्रुटियां हाल ही में मेरे OSX मशीन पर आई हैं।

मैं दौड़ कर खुद को जल्दी और गंदे तरीके से मदद कर सकता था:

sudo chmod -R 777 /usr/local/lib/node_modules/

ऐसा लगता था कि सभी वैश्विक नोड मॉड्यूल के उपयोग के अधिकार गड़बड़ाने लगे हैं।


2

मेरे लिए फिक्सिंग निर्देशिका नाम के बाद स्लैश जोड़ रहा था


1

पथ आदि को हटाने और पुनः स्थापित करने सहित एक पूर्ण स्थापना रद्द करने से समस्या हल हो गई है, हालांकि बहुत ही अजीब समस्या है।

विंडोज से नोड पूरी तरह से हटा दें


पहली बार में मुझे आपका उत्तर पसंद नहीं आया, लेकिन मुझे यह स्वीकार करना होगा कि वही बात मुझे बहुत अच्छी लगी। इस समस्या के कारण एक नई meteorपरियोजना बनाना --react, लेकिन परियोजना को हटाना और इसे फिर से बनाना (OS X) फिर से काम करता है।
होला सोय एडु

1

मैं इस मुद्दे के साथ था। समस्या यह थी कि gulp ने मेरे स्रोत फ़ाइल पर निर्भरता जोड़ दी और मुझे लगता है कि npm ने इसे खोलने की कोशिश की:

{
  "name": "name",
  "version": "2.0.0",
  "description": "",
  "main": "gulpfile.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "appname": "file://gulp",
    "gulp-concat": "^2.6.1",
    "gulp-electron": "^0.1.3",
    "gulp-shell": "^0.5.2",
    "gulp-uglify": "^2.0.0",
    "gulp-util": "^3.0.7",
    "node-7z": "^0.4.0"
  }
}

सुनिश्चित करें कि आप में कोई अजीब संदर्भ नहीं हैं। पैकेज फ़ाइल।


1

यह सुनिश्चित करने के लिए जांचें कि आप उचित निर्देशिका से एनपीएम इंस्टॉल कर रहे हैं।

(उदाहरण के लिए package.json फ़ाइल एक अतिरिक्त निर्देशिका डाउन हो सकती है।)


1

यदि आपकी समस्या रिएक्टिव नेटिव पैकर से जुड़ी है। कैश को रीसेट करने का प्रयास करें react-native start --reset-cache


1

मेरे मामले में मैं यह पूछ रहा था कि फाइल में से एक का पूरा रास्ता पारित करना भूल गया। फाइल का पूरा रास्ता गुजरने के बाद :)


1

मेरे मामले में, मैं इस मुद्दे का सामना करना पड़ गया था, जबकि स्थापित करने create-react-appमें MAC (Mojave OS)निम्न आदेश के साथ:

sudo npm install create-react-app -g

और इस तरह त्रुटियां मिलीं:

npm WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/rxjs-a84420a7/src/scheduler'
npm WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/rxjs-a84420a7/src/symbol'
npm WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/rxjs-a84420a7/src/testing'
npm WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/rxjs-a84420a7/src/util'
npm WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/rxjs-a84420a7/src/webSocket'
npm WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/rxjs-a84420a7/symbol'
npm WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/rxjs-a84420a7/testing'
npm WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/rxjs-a84420a7/util'
npm WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/rxjs-a84420a7/webSocket'

मैंने पढ़ा है npm.community जो बिना इंस्टॉल करने की कोशिश करता है sudo:

npm install create-react-app -g

और यह वास्तव में मेरे मुद्दे को हल कर दिया .. !!


1

सुनिश्चित करें कि नोड_मॉड्यूल्स (और आपका रूट पैकेज.जसन) में npm के "package.json" मॉड्यूल का संदर्भ नहीं है। Package.json FOLDER को node_modules से हटाने से मेरे लिए समस्या हल हो गई।


0

बॉयलरप्लेट कोड सेट करते समय मुझे इसी तरह की समस्या थी। यह एक निर्देशिका के रूप में मेरी बंडल.जेएस फ़ाइल पढ़ रहा था। जैसा कि यहां बताया गया है। EISDIR का मतलब है इसकी डायरेक्टरी और फाइल नहीं। समस्या को ठीक करने के लिए, मैंने फ़ाइल को हटा दिया और बस फिर से बनाया (यह मूल रूप से स्वचालित रूप से बनाया गया था)। यदि आपको फ़ाइल नहीं मिल रही है (क्योंकि इसके छिपे हुए), तो इसे खोजने और हटाने के लिए टर्मिनल का उपयोग करें।


0

एक ही समस्या थी जब तक कि मैं .गित फ़ोल्डर को हटाने की कोशिश नहीं करता। इसने काम कर दिया। मुझे लगता है कि इस प्रकार की समस्या के विभिन्न कारण हो सकते हैं।


0

मेरी भी यही समस्या थी। मेरी निर्देशिका में एक लिंक किया गया फ़ोल्डर था जो समस्या पैदा कर रहा था। मैंने सूची को अनदेखा करने के लिए उस फ़ोल्डर को जोड़ा और फिर उम्मीद के मुताबिक काम करना शुरू कर दिया।


0

मुझे पता है कि यह विशेष रूप से हमेशा के लिए js के बारे में नहीं पूछ रहा है .. लेकिन Google ने मुझे यहाँ तक पहुँचाया है .. मेरे लिए यह एक समाप्ति स्लैश की तरह सरल था।

मैंने अभी-अभी बदला:

forever start -a -l /dev/null/ /var/www/node/my_file.js

सेवा:

forever start -a -l /dev/null /var/www/node/my_file.js

और त्रुटि गायब हो गई


0

अपने npm के संस्करण की जांच करना सुनिश्चित करें और इसके साथ कोई समस्या है या नहीं। मुझे इस पोस्ट के समय एक ही मुद्दा मिल रहा था और मुझे पता चला कि मेरे npm संस्करण (6.5) में समस्याएँ थीं। मुझे npm संस्करण 6.4.1 को अनइंस्टॉल और रीइंस्टॉल करना पड़ा और फिर सब कुछ फिर से शानदार काम करने लगा।



0

मेरे मामले में इन कदमों ने मेरी समस्या हल कर दी:

  1. समाप्ति की npmप्रक्रिया(CTRL + C)
  2. संपूर्ण फ़ोल्डर हटाना
  3. नया बना रहा है
  4. npmफिर से चल रहा है

0

मेरे मामले में, मैं स्पेनिश में विंडोज 10 का उपयोग कर रहा हूं और यह संस्करण अंग्रेजी और स्पेनिश निर्देशिका नामों को मिलाता है। मेरी समस्या यह थी कि डेस्कटॉप निर्देशिका का यह नाम कुछ कमांड्स और escritorioदूसरों के लिए है। मेरा मानना ​​है कि npm इसका समाधान नहीं कर सकता है। मेरा समाधान केवल सी से शुरू होने वाली एक और निर्देशिका में बदलना था: मेरे घर की निर्देशिका के लिए अलग।


0

मैंने इसी तरह के मुद्दे का सामना किया था। मैंने कमांड का उपयोग करके कैफ़ाइल सेट किया:

npm config set cafile PATH_TO_CERTIFICATE

मैं प्रमाण पत्र फ़ाइल सेटिंग्स को हटाकर और सेटिंग द्वारा इसे हल करने में सक्षम था strict-ssl = false


0

मैंने अपनी एक्सफ़ैट ड्राइव से अपनी निर्देशिका को स्थानांतरित करके इस मुद्दे को ठीक किया जो कि सहानुभूति का समर्थन नहीं करता है।

मेरे एक्सफ़ैट ड्राइव को ओएक्सएक्स और एक बूटकैम्प विंडोज़ विभाजन के बीच साझा किया जाता है, इसलिए जब मैंने क्लोन और एनपीएम को स्थापित करने की कोशिश की तो यह मेरी परियोजना को विफल कर रहा था लेकिन कभी भी यह नहीं बताता है कि एक्सफ़ैट इस कार्यक्षमता का समर्थन नहीं करता है।

वहाँ ड्राइवर हैं जो आप सिम्लिंक की क्षमता को जोड़ने के लिए स्थापित कर सकते हैं, लेकिन आपको एक साधारण एनपीएम स्क्रिप्ट चलाने की तुलना में मैन्युअल रूप से अपना बहुत कुछ करना होगा।


0

मैक ओएस के लिए: यदि नोडज वेबसाइट से सीधे स्थापित किया जाता है तो npmrc फाइल / usr / लोकल / etc / npmrc में स्थित होगी । बस उस कॉन्फिग को डिलीट कर दें जो अपरिभाषित है और यह समस्या ठीक हो जाएगी।



0

मेरे मामले में, C:\Users\{user}\AppData\local\npm फाइलें छिपी हुई थीं, इसलिए मैं परेशानी निर्देशिका को खोजने और हटाने में सक्षम नहीं था। मुझे यह महसूस करने के लिए ले लिया!

तो किसी भी फ़ोल्डर को अन-हाइड करने के लिए डबल चेक करें ताकि आप उन्हें मिस न करें! यदि आप नहीं जानते कि ऐसा करने के लिए यहां एक लिंक है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.