npm ईआरआर! त्रुटि: EPERM: ऑपरेशन की अनुमति नहीं है, नाम बदलें


109

जब मैं निष्पादित करता npm installहूं तो मुझे यह त्रुटि मिलती है

npm ईआरआर! त्रुटि: EPERM: ऑपरेशन की अनुमति नहीं है, नाम बदलें C: \ प्रोजेक्ट ****** \ नोड_ नोड्स \ प्रतिक्रिया-एस्किंट-स्क्रिप्ट '->' सी: \ प्रोजेक्ट ******* \ नोड_मॉड्यूल्स ।react-async-script .DELETE '

  • मैं cmd ​​को व्यवस्थापक के रूप में चला रहा हूं
  • मैं npm cache cleanपहले भागा
  • मैंने यह सुनिश्चित किया कि अन्य सभी अनुप्रयोगों में node_modulesखुले से संबंधित कुछ भी नहीं है

2
cmd चलाने के रूप में प्रशासक ने मेरे लिए काम किया
होमर

मेरे मामले में मुझे इसे सामान्य उपयोगकर्ता (प्रशासक नहीं) के रूप में चलाना था और यह काम किया, यह उपयोगकर्ता अनुमतियों का संघर्ष प्रतीत होता है। लेकिन ऐसा लगता है कि यहां दिए गए अन्य सभी समाधान npm साफ हैं, npm इंस्टॉल की आवश्यकता नहीं है। इसका उपयोगकर्ता अनुमति मुद्दा है। यदि अधिक लोग पुष्टि कर सकते हैं, तो मैं एक नया उत्तर पोस्ट कर सकता हूं।
एमजी डेवलपर

जवाबों:


124

मेरी स्थिति में इससे मदद मिली। इन आदेशों को निष्पादित करने के लिए आगे बढ़ने से पहले सभी वीएस कोड इंस्टेंस को बंद करें।

  1. साथ कैश साफ़ करें

    npm cache clean --force
  2. व्यवस्थापक के रूप में विश्व स्तर पर npm का नवीनतम संस्करण स्थापित करें:

    npm install -g npm@latest --force
  3. साथ कैश साफ़ करें

    npm cache clean --force
  4. अपने घटक को एक बार फिर से स्थापित करने का प्रयास करें।

मुझे उम्मीद है कि यह आपके मुद्दे को ठीक करेगा। यदि नहीं, तो आप अपने एंटीवायरस प्रोग्राम को अस्थायी रूप से अक्षम कर सकते हैं और पुनः प्रयास कर सकते हैं।


1
धन्यवाद @ kamil.ka यह विंडोज़ पर मेरा मुद्दा था। एटम पैकेज को बंद कर रहा था। json तो npm इंस्टॉल इसे बदल नहीं सका।
जॉर्ज

29
Windows पर VS कोड पर समान टिप्पणी लागू होती है ... इसे बंद करें और समस्या दूर हो जाती है
मार्टिन कीरन

1
मेरे लिए, मेरे पास एक और नोड प्रक्रिया चल रही थी, मेरे मामले में json-server। एक बार मैंने रोका कि पैकेज त्रुटि के बिना स्थापित है।
एडी

मेरे लिए, "ईआरआर! Enoent जैसी त्रुटियां यह npm से संबंधित है जो एक फ़ाइल खोजने में सक्षम नहीं है" दृश्य स्टूडियो कोड के लिए सभी उदाहरणों को समाप्त करके हल किया गया है।
अभिषेक

कभी-कभी हम वेबपैक के उपयोग की देखरेख करते हैं जिसने सभी जेएस फाइलों को गैर-अद्यतन मॉड्यूल लिंक सहित पैक किया है जैसे। app.js. इसलिए npm अपडेट के बाद, रन करने का प्रयास करें npm run watch। उसके बाद, मेरे मामले में, एक नया app.js फ़ाइल में उचित मॉड्यूल लिंक अपडेट किए गए थे।
पीटर वान डेर लीली

21

नहीं package.json, लेकिन जो भी कारण से, मैं node_modules/केवल पढ़ने के लिए बन गया था। इसे रीसेट करके इसे ठीक किया गया।


मेरे लिए "रीसेटिंग" का मतलब था 1.क्लोज़िंग वीएस, 2.फाइलप्लपेयर node_modulesसे डिलीट 3.करना मेरे पीसी 4.रनिंग को रीस्टार्ट करना npm install --force। फिर अंतिम रूप से यह काम किया।
ईजीसी

21

मुझे यह काम कर रहा था जब npm को दूरस्थ संसाधनों को लाने के लिए बल विकल्प के साथ स्थापित करने की कोशिश की गई, भले ही डिस्क पर एक स्थानीय प्रतिलिपि मौजूद हो। दौड़ने की कोशिश करो

npm install --force

अपडेट किया गया अपने सहयोगियों इस समाधान काम कर रहा था की कुछ के लिए। लेकिन हमने npm के बजाय यार्न का उपयोग करने की कोशिश की । यह हर समय (बिना किसी समस्या के) तेजी से काम करता है

yarn install [package-name]

अन्य लोगों ने एवी सॉफ्टवेयर को बंद करने का सुझाव दिया। मेरे लिए, मैं जिस नेटवर्क पर हूं, यह एक विकल्प नहीं था। --फोर्स फ्लैग ने मेरे लिए इस समस्या को हल किया
user2590928

मैंने केवल यार्न का उपयोग करके अपनी समस्या को हल किया, इसलिए मैं उसे एक शॉट देने की सलाह देता हूं।
ngelo पोलोटो

20

यदि आप --forceविकल्प से बचना चाहते हैं (जो हमेशा एक बेहतर दृष्टिकोण है) , तो मैं यह सुनिश्चित करने का सुझाव देता हूं कि आपने परियोजना को चलाना बंद कर दिया है, क्योंकि आमतौर पर लगभग 90% मामलों में मैंने फ़ाइलों को लॉक करने का मुख्य कारण देखा है।

मैं इस क्रम में निम्नलिखित चरणों का सुझाव देता हूं:

1- एंगुलर स्टॉपिंग ng sऔर रिएक्ट में स्टॉपिंग npm start आमतौर पर इस समस्या को हल करता है क्योंकि आमतौर पर यह त्रुटि तब होती है जब कोई डेवलपमेंट सर्वर प्रोजेक्ट को रन कर रहा होता है क्योंकि यह कुछ फाइलों को लॉक कर देता है और फिर npm उन्हें अपडेट नहीं कर सकता।

2- यदि ऊपर काम नहीं करता है, तो उस कोड एडिटर को बंद करने का प्रयास करें, जिसमें कार्यक्षेत्र खुला है (हो सकता है कि वह कुछ फ़ाइलों या कुछ को लॉक कर रहा हो)

इसलिए कोड संपादक को बंद करने और चलाने का प्रयास करें:

npm install

3- अगर फिर भी यह काम नहीं करता है, तो हो सकता है कि आप --forceविकल्प को आजमा सकते हैं

npm install --force

2
यह मेरी समस्या थी, मैंने वीएस कोड पर टर्मिनल के माध्यम से एक नोड_मॉड्यूल्स फ़ोल्डर को रिमैरिफाइड किया - किसी कारण से यह मेरे फाइल सिस्टम से नोड_मॉड्यूल्स को काफी दूर नहीं कर पाया था और इसे लॉक कर दिया था। जब तक मैंने वीएस कोड की उस खिड़की को बंद नहीं किया था और इसे वापस खोल दिया था कि यह वास्तव में हटा दिया गया था और मैं एनपीएम को फिर से स्थापित कर सकता था।
स्टु फर्लांग

13

मुझे वही त्रुटि मिल रही थी और https://github.com/Medium/phantomjs/issues/19 के अनुसार यह आपके एंटीवायरस सॉफ़्टवेयर के कारण हो सकता है। मैंने व्यवस्थापक के रूप में cmd ​​पर स्थापित और निष्पादित "npm स्थापित" की अवधि के लिए मेरा अक्षम किया और यह काम किया। उम्मीद है की यह मदद करेगा।


1
प्रति github.com/npm/npm/issues/12059 यह तय किया गया है। इसे किस विमोचन में लाया जाएगा, इस पर कोई शब्द नहीं। प्रति टिप्पणी, एवी को अक्षम करना हमेशा काम नहीं करता है।
user1821052

मेरे मामले में, मुझे इंस्टॉल के दौरान सोर्सट्री को बंद करना पड़ा।
देजन

13

मेरे लिए मैंने कोड संपादक (वीएस कोड) को बंद कर दिया और फिर उसी कमांड को चलाया। और यह मेरे लिए इस मुद्दे को हल करता है।


9

जैसा कि मार्टिन किर्न ने एक टिप्पणी में बताया, विजुअल स्टूडियो को बंद करने से मेरे लिए इन npm अनुमति मुद्दों का समाधान हो गया। कभी-कभार VS कभी-कभी फाइलों को लॉक कर देता है node_modules


8

मुझे एक ही बात मिल रही थी। मुझे यह कहीं भी नहीं मिला, लेकिन इसने मुझे मारा कि हमारे वीएम फाइलों को केवल-पढ़ने की स्थिति में बदल देते हैं। इसलिए मैंने package.jsonफ़ाइल गुण खोले और Read-only"सामान्य" टैब में अचयनित किया।

कदम

  1. package.jsonफाइल पर जाएं ।
  2. राइट-क्लिक करें और गुण चुनें ।
  3. में जनरल टैब, गुण अनुभाग, अचयनित केवल-पढ़ने के
  4. परिवर्तन लागू करने के लिए लागू करें पर क्लिक करें

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

8

यह एंटीवायरस के कारण होने वाली एक विशिष्ट त्रुटि है। मेरे जैसे मामलों के लिए वर्कअराउंड है, जहां मैं ए / वी (कंपनी पॉलिसी) को अक्षम नहीं कर सकता।

आपको polyfills.jsअंदर का Npmपैकेज बदलना होगा :

[NODE_HOME]/node_modules/npm/node_modules/graceful_fs/polyfills.js

इस कथन को देखें:

if (process.platform === "win32") {

इस कथन के अंदर, त्रुटि के मामले में एक रिट्रीट बनाने की समय सीमा है। समस्या यह है कि कुछ मामलों में, समय समाप्त होने के बाद, फ़ाइल अभी भी ए / वी द्वारा बंद है। समाधान समयबाह्य है और इस कथन को लूप में छोड़ दें। पिछले कोड के साथ बदलाव पर टिप्पणी की गई:

if (platform === "win32") {

fs.rename = (function (fs$rename) { return function (from, to, cb) {
  var start = Date.now()
  var backoff = 0;
  fs$rename(from, to, function CB (er) {
    if (er
        && (er.code === "EACCES" || er.code === "EPERM")
        /*&& Date.now() - start < 60000*/) {
            console.log("Retrying rename file: " + from + " <> " + to)
            fs$rename(from, to, CB);
      /*setTimeout(function() {
        fs.stat(to, function (stater, st) {
          if (stater && stater.code === "ENOENT")
            fs$rename(from, to, CB);
          else
            cb(er)
        })
      }, backoff)*/
      if (backoff < 100)
        backoff += 10;
      return;
    }
    if (cb) cb(er)
  })
}})(fs.rename)
}

आप साहब असली एमवीपी हैं।
अटाना कोर्चेव

4

मेरे मामले में, कुछ बंद हो गया और एक त्वरित रिबूट ने इसे हल कर दिया।


4

मेरे पास यह मुद्दा कई बार आया है केवल विंडोज में मैं आमतौर पर क्रम में ये कोशिश करता हूं।

  1. npm install --force
  2. जाँच करें कि क्या node_modules केवल पढ़ने के लिए सेट है और यदि है तो हटा दें
  3. हटाएं node_modules/
  4. जांचें कि क्या कोई संपादक खोला गया है जो परियोजना के रूट फ़ोल्डर तक पहुंच सकता है
  5. रिबूट :(

आमतौर पर npm installउन चरणों में से एक के बाद प्रयास करना इसे हल करेगा।


2

फ़ाइल को किसी अन्य फ़ाइलनाम में बदलने का प्रयास करना जो पहले से मौजूद है, EPERMविंडोज पर त्रुटि पैदा कर सकता है ।


2

मैंने मेटाडाटा ध्वज के साथ अपनी विंडो डिस्क को रिमूव किया, और तुरंत मदद की: https://devblogs.microsoft.com/commandline/chmod-chown-wsl-improvements/

उसके बाद अब npm कमांड के लिए sudo का उपयोग करने की कोई आवश्यकता नहीं है क्योंकि मेटाडेटा विंडोज़ और लिनक्स फाइल / डायरेक्टरी की अनुमति को रोक कर रखता है।


2

5.4.2 पर npm पर अद्यतन करने के बाद मुझे एक ही समस्या थी, npm अधिकांश npm कमांड के लिए एक ही त्रुटि देना शुरू करें। कुछ समाधान के साथ इसे चलाने का सुझाव है --no-optional, लेकिन यह हमेशा काम नहीं करता था।

दूसरों ने डाउनग्रेड करने का सुझाव दिया, लेकिन मैं डाउनग्रेड नहीं करना चाहता था।

मुझे संदेह था कि स्थापना में कोई समस्या थी, यह निश्चित नहीं था कि यह क्या था।

इसलिए मैंने अपने npm को फिर से अपडेट किया:

npm i -g npm

और तब से ठीक काम किया।


1

npm मेरे लिए में विफल रहा था scandir:

npm install -g webpack

... जो npm के कारण हो सकता है "संशोधित" फाइलों के लिए जो अन्य प्रक्रियाओं द्वारा संभावित रूप से यहां और कुछ अन्य गीथब थ्रेड्स में बताए गए हैं । कैश को साफ करने के बाद, कैश को सत्यापित करना, एडमिन के रूप में चलना, एवी को अक्षम करना, आदि समाधान जो वास्तव में मेरे लिए काम करता है, किसी भी चीज को बंद कर रहा था जो कि फाइलों को लॉक कर सकता है (अर्थात मेरा कंप्यूटर पुनरारंभ करना)।

मुझे उम्मीद है कि इससे किसी को संघर्ष करने में मदद मिलेगी।


1

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


1

कुछ के लिए, AppRoot \ npm फ़ोल्डर एक समस्या हो सकती है। कभी-कभी AppRoot फ़ोल्डर को नेटवर्क साझा के रूप में चिह्नित किया जाता है और इस तरह एंटीवायरस सामान को ब्लॉक कर देता है। पूर्ण समाधान के लिए नीचे दिए गए लिंक का अनुसरण करें।

https://alastaircrabtree.com/fixing-intermittant-eperm-operation-not-permitted-on-npm-install/

आशा है कि ये आपकी मदद करेगा।


1

मैंने निम्नलिखित कार्य किया:

  1. Npm को नवीनतम संस्करण में अपग्रेड किया गया: npm install -g npm@6.5.0-next.0
  2. से npm-cache फ़ोल्डर को हटाया गया: c:/users/[username]/AppData/Roaming/npm-cache
  3. कैश साफ किया: npm cache clean --force
  4. भाग गया npm install

1

व्यवस्थापक के रूप में कमांड प्रॉम्प्ट खोलें और प्रोजेक्ट स्थान पर नेविगेट करें और फिर npm इंस्टॉल करें। यह मेरे लिए काम किया।


1

मेरे मामले में npm: v6.9.0&& चालू होने node: v10.16.1पर Windows, मुझे प्रशासक के रूप में अपनी CLI (git bash) चलानी थी । तब पैकेज बिना किसी चेतावनी / त्रुटियों के स्थापित किए गए थे


0

मेरा जवाब npm cache clean --forceपहले करना है । फिर npm install -g npm@5.3.0npm 5.3.0 संस्करण स्थापित करने के लिए चलाएँ । मेरे लिए, यह npm संस्करण बिना किसी परेशानी के काम करता है।


0

बस npm वैश्विक पैकेज के पथ से पैकेज फ़ोल्डर को हटा दें। फिर पैकेज को फिर से स्थापित करें। ध्यान दें कि पैकेज विश्व स्तर पर स्थापित हैं: C: \ Users \ your-name \ AppData \ Roaming \ npm \ नोड_ नोड्स


0

मुझे विंडोज़ 10 में भी यही समस्या थी। बस इन चरणों का पालन करना है:

  • व्यवस्थापक के रूप में cmd ​​खोलें।

  • ऊपर एनपीएम पैकेज स्थापित करें।

  • npm i -g npm

  • npm init --yes


0

सुपर एडमिन के रूप में रनिंग कमांड्स ने मेरे लिए काम किया। संपादक को बंद करने के बाद पुन: प्रयास करें।


0

मैंने इससे भी संघर्ष किया। यदि आप nvm का उपयोग करते हैं तो मैं एक समाधान को अंतिम रूप देता हूं:

cd ~/.nvm/versions/node/{your node version}/lib/ npm install npm

और बस।


0

यह आपके एंटीवायरस सॉफ़्टवेयर के कारण हो सकता है। यदि आप एवी को अक्षम नहीं कर सकते हैं तो आप अपने एनपीएम वैश्विक इंस्टॉल स्थान को संशोधित करने का प्रयास कर सकते हैं क्योंकि नोड एपीपीडाएटी निर्देशिका में स्थापित होता है जिसे एवी इंजन द्वारा सक्रिय रूप से मॉनिटर किया जाता है। निम्नलिखित आदेश चलाने का प्रयास करें-

npm विन्यास सेट उपसर्ग "आपका कस्टम लोशन" npm कॉन्फिगर सेट कैश "आपका कस्टम लोशन"

नोड_मॉड्यूल निर्देशिका हटाएं और अपना पैकेज फिर से स्थापित करें।


0

मेरे मामले typescript.disableAutomaticTypeAcquisitionमें trueमदद करने के लिए दृश्य स्टूडियो कोड में सेटिंग ।


0

PHPStorm को बंद करना मेरे लिए समस्या तय कर दिया।


0

मैंने वीएस को बंद कर दिया, नोड_मॉडल फ़ोल्डर को हटा दिया।

फिर भागा:

npm i -D -E clean-webpack-plugin@3.0.0 css- 
loader@3.4.2 html-webpack-plugin@3.2.0 mini-css- 
extract-plugin@0.9.0 ts-loader@6.2.1 typescript@3.7.5 
webpack@4.41.5 webpack-cli@3.3.10 

फिर चल रहे हो जाने के बाद केवल नोड_मॉडल्स फ़ोल्डर पर नहीं पढ़ने के लिए संपत्ति को बदलना पड़ा।

फिर भागा:

npm i @microsoft/signalr @types/node

फिर वीएस और पैकेज में प्रोजेक्ट का बैक अप लिया। निर्भरता के साथ सही पैकेज देखा।

अन्य पंक्तियों के साथ ही केवल n_modules फ़ोल्डर पर पढ़ने और npm को चलाने के लिए VS को बंद करने के बारे में बात करने वाली लाइनों के साथ।


0

यदि आप PHP तूफान पर समस्या हो रही है:

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