npm ERR! Hata: EPERM: işleme izin verilmiyor, yeniden adlandır


112

Çalıştırdığımda npm installbu hatayı alıyorum

npm ERR! Hata: EPERM: işleme izin verilmiyor, C: \ projects ****** \ node_modules \ react-async-script '->' C: \ projects ******* \ node_modules.react-async-script olarak yeniden adlandırın .DELETE '

  • Cmd'yi yönetici olarak çalıştırıyorum
  • Daha npm cache cleanönce koştum
  • Emin diğer tüm uygulamalar şey ilişkili yok yapılan node_modulesaçık

2
cmd'yi yönetici olarak çalıştırmak benim için çalıştı
Homer

Benim durumumda onu normal kullanıcı (yönetici değil) olarak çalıştırmak zorunda kaldım ve işe yaradı, kullanıcı izinleri çakışması gibi görünüyor. Ancak, burada verilen diğer tüm çözümlerin npm clean, npm kurulumuna gerek olmadığı görülmektedir. Bu bir kullanıcı izni sorunu. Daha fazla kişi onaylayabilirse, yeni bir cevap gönderebilirim.
MG Developer

Yanıtlar:


130

Benim durumumda bu yardımcı oldu. Bu komutları yürütmeye devam etmeden önce tüm VS Code örneklerini kapatın.

  1. önbelleği temizle

    npm cache clean --force
  2. npm'nin en son sürümünü global olarak yönetici olarak yükleyin:

    npm install -g npm@latest --force
  3. önbelleği temizle

    npm cache clean --force
  4. Bileşeninizi bir kez daha kurmayı deneyin.

Umarım bu sorununuzu çözer. Değilse, virüsten koruma programınızı geçici olarak devre dışı bırakabilir ve tekrar deneyebilirsiniz.


1
teşekkürler @ kamil.ka Windows'taki sorunum buydu. Atom package.json'u kilitliyordu, bu yüzden npm yüklemesi onu değiştiremedi.
George

30
Aynı yorum Windows'daki VS Code için de geçerlidir… kapatın ve sorun ortadan
kalkar

1
Benim için, çalışan başka bir düğüm işlemim vardı, benim durumumda json-server. Bir kez durduğumda paketin hatasız yüklendiğini gördüm.
EddieB

Benim için, "ERR! Enoent Bu, npm'nin bir dosya bulamamasıyla ilgili" gibi hatalar, görsel stüdyo kodu için tüm örnekler sonlandırılarak çözüldü.
Abhishek

Bazen, örneğin, güncellenmemiş modül bağlantıları dahil olmak üzere tüm js dosyalarını paketleyen web paketinin kullanımını denetleriz. app.js. Bu yüzden npm güncellemesinden sonra çalıştırmayı deneyin npm run watch. Bundan sonra, benim durumumda, uygun modül bağlantıları yeni bir app.js dosyasında güncellendi.
Peter van der Lely

23

Diskte yerel bir kopya olsa bile uzak kaynakları getirmeye zorlama seçeneğiyle npm yüklemesini denediğimde çalıştırdım. Koşmayı dene

npm install --force

Güncellendi Bazı meslektaşlarım için bu çözüm çalışmıyordu. Ancak npm yerine iplik kullanmayı denedik. Her zaman sorunsuz çalışır (aynı zamanda daha hızlı)

yarn install [package-name]

Diğer insanlar AV yazılımını kapatmayı önerdi. Benim için, bulunduğum ağda bu bir seçenek değildi. --Force bayrağı bu sorunu benim için çözdü
user2590928

Sorunumu sadece iplik kullanarak çözdüm, bu yüzden ona bir şans vermenizi öneririm.
Ângelo Polotto

22

Hayır package.json, ama her ne sebeple olursa olsun, benim node_modules/salt okunur hale gelmişti. Bunu sıfırlamak sorunu çözdü.


Beni anlamına için "Sıfırlama" 1.VS kapatan 2.Silme node_modulesFileExplorer dan 3.benim PC yeniden başlatma 4.Running npm install --force. Sonunda işe yaradı.
EGC

21

Bu --forceseçenekten kaçınmak istiyorsanız (ki bu her zaman daha iyi bir yaklaşımdır) , gördüğüm vakaların neredeyse% 90'ında dosyaları kilitlemenin ana nedeni bu olduğundan, projeyi çalıştırmayı bıraktığınızdan emin olmanızı öneririm.

Bu sırayla aşağıdaki adımları öneriyorum:

1- Açısal durdurmada ng sve React'te durdurma npm start genellikle bu sorunu çözer çünkü genellikle bu hata, bir geliştirme sunucusu projeyi çalıştırıyorsa, bazı dosyaları kilitler ve ardından npm bunları güncelleyemez ve bu hatayı atar.

2- Yukarıdakiler işe yaramazsa, çalışma alanı açık olan kod düzenleyiciyi kapatmayı deneyin (belki bazı dosyaları veya bir şeyi kilitliyordu)

Bu yüzden kod düzenleyiciyi kapatmayı ve şunu çalıştırmayı deneyin:

npm install

3- Hala çalışmıyorsa, belki --forceseçeneği deneyebilirsiniz

npm install --force

2
Bu benim sorunumdu, VS Code üzerindeki terminal aracılığıyla bir node_modules klasörünü rimraff'ledim - nedense node_modules'i dosya sistemimden tamamen kaldırmadı ve kilitlendi. VS Code penceresini kapatıp, aslında kaldırıldığını ve npm kurulumunu tekrar çalıştırabildiğimi geri açana kadar değildi.
Stu Furlong

13

Aynı hatayı alıyordum ve https://github.com/Medium/phantomjs/issues/19'a göre bunun nedeni antivirüs yazılımınız olabilir. Yükleme süresi boyunca benimkini devre dışı bıraktım ve yönetici olarak cmd'de "npm yüklemesi" gerçekleştirdim ve çalıştı. Bu yardımcı olur umarım.


1
Github.com/npm/npm/issues/12059 başına bu sorun düzeltildi. Hangi salıvermeye başlayacağına dair hiçbir kelime yok. Yorumlara göre, AV'yi devre dışı bırakmak her zaman çalışmaz.
user1821052

Benim durumumda, yükleme sırasında SourceTree'yi kapatmak zorunda kaldım.
Dejan

13

Benim için Kod düzenleyicisini (VS Code) kapattım ve sonra aynı komutu çalıştırdım. Ve bu benim için sorunu çözdü.


9

Martin Kearn'ın bir yorumda belirttiği gibi, Visual Studio'nun kapatılması bu npm izin sorunlarını benim için çözdü. Açıkça VS bazen dosyaları node_modules.


8

Ben de aynı şeyi alıyordum. Bunu hiçbir yerde bulamadım, ancak sanal makinelerimizin dosyaları salt okunur hale getirme eğiliminde olması bana çarptı. Bu yüzden package.json'nin dosya özelliklerini açtım ve Read-only"Genel" sekmesinde seçimi kaldırdım .

Adımlar

  1. Git package.jsondosyası.
  2. Sağ tıklayın ve Özellikler'i seçin .
  3. In Genel sekmesi, Özellikler seçimi bırak, bölüm Salt Okunur .
  4. Değişikliği uygulamak için Uygula'yı tıklayın .

Yalnızca benim için Oku, ancak asıl sorun genellikle yüklemek için yalnızca kod kullanmamdı. Bu durumda, Visual Studio'da uygulamanın yeni bir örneğini açtım, böylece eski bir sürümden bazı değişiklikleri taşıyabilirdim ve VS kendini hemen yüklemeye başladı. Daha sonra normalde yaptığım gibi npm yüklemesini çalıştırmak için kodu açtım ve her iki uygulama da bir tizzy'ye girdi. Birkaç başarısızlıktan sonra, değişiklikleri desteklememe izin vermek için uygulamamızın çalışan bir kök sürümünden bir düğüm modülünü toplu olarak bıraktım. Bu klasör salt okunurdu, bu nedenle daha sonra engellemeye devam edildi.
Matrim

8

Bu, Antivirüsün neden olduğu tipik bir hatadır. A / V'yi (Şirket Politikası) devre dışı bırakamadığım benimki gibi durumlar için bir geçici çözüm var.

polyfills.jsİç Npmpaketi değiştirmelisiniz :

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

Şu ifadeye bakın:

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

Bu ifadenin içinde, hata durumunda yeniden deneme yaparken bir zaman aşımı vardır. Sorun, bazı durumlarda, zaman aşımından sonra dosyanın hala A / V tarafından kilitlenmesidir. Çözüm, zaman aşımını ortadan kaldırmak ve bu ifadenin döngüye girmesine izin vermektir. Önceki kodla yapılan değişiklik şu şekilde yorumlandı:

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)
}

Siz efendim gerçek MVP'siniz.
Atanas Korchev

4

Benim durumumda, bir şey kilitlendi ve hızlı bir yeniden başlatma sorunu çözdü.


4

Bu sorunu yalnızca Windows'ta birkaç kez yaşadım, bunları genellikle sırayla deniyorum.

  1. npm install --force
  2. Node_modules'in salt okunur olarak ayarlanıp ayarlanmadığını kontrol edin ve varsa kaldırın
  3. Sil node_modules/
  4. Projenin kök klasörüne erişimi olabilecek herhangi bir düzenleyicinin açık olup olmadığını kontrol edin
  5. Yeniden başlat :(

Genellikle npm installbu adımlardan birini denemek sorunu çözecektir.


2

Bir dosyayı zaten var olan başka bir dosya adıyla yeniden adlandırmaya çalışmak EPERMWindows'ta bir hataya neden olabilir .



2

Npm'yi 5.4.2'ye güncelledikten sonra aynı sorunu yaşadım, npm çoğu npm komutu için aynı hatayı vermeye başladı. Bazı çözümler onu çalıştırmayı öneriyor --no-optional, ancak her zaman işe yaramadı.

Diğerleri eski sürüme geçmeyi önerdi, ancak eski sürüme geçmek istemedim.

Kurulumla ilgili bir sorun olduğundan şüphelendim, ne olduğundan emin değilim.

Bu yüzden npm'mi yeniden güncelledim:

npm i -g npm

ve o zamandan beri iyi çalıştı.


1

npm benim scandiriçin başarısız oldu:

npm install -g webpack

... bu, npm'nin burada ve diğer birkaç github iş parçacığında bahsedildiği gibi diğer işlemler tarafından potansiyel olarak kilitlenmiş dosyaları "değiştirmeye" çalışmasından kaynaklanıyor olabilir . Önbelleği temizlemeye zorladıktan, önbelleği doğruladıktan, yönetici olarak çalıştırdıktan, AV'yi devre dışı bıraktıktan vb. Sonra gerçekten işe yarayan çözüm, dosyaları kilitleyen her şeyi kapatıyordu (yani bilgisayarımı yeniden başlatmak).

Umarım bu, mücadele eden birine yardımcı olur.


1

Ben de aynı sorunu yaşadım. Hatanın nedeni, dosya yolundaki desteklenmeyen karakterlerdir. Kiril alfabesi İngilizce olarak değiştirildi - yardımcı oldu.



1

Ben şunları yaptım:

  1. Npm'yi en son sürüme yükseltti: npm install -g npm@6.5.0-next.0
  2. npm-cache klasörünü şuradan sildi: c:/users/[username]/AppData/Roaming/npm-cache
  3. Önbellek temizlendi mi: npm cache clean --force
  4. Koştu npm install.

1

Komut istemini yönetici olarak açın ve proje konumuna gidin ve ardından npm install komutunu çalıştırın. benim için çalıştı.


1

Benim durumumda npm: v6.9.0&& node: v10.16.1devam ediyor Windows, yönetici olarak CLI'mi (git bash) çalıştırmak zorunda kaldım . Daha sonra paketler herhangi bir uyarı / hata olmadan kuruldu


0

Cevabım npm cache clean --forceilk önce yapmak . Daha sonra npm install -g npm@5.3.0npm 5.3.0 sürümünü kurmak için çalıştırın . benim için bu npm sürümü sorunsuz çalışıyor.


0

Paket klasörünü npm global paketlerinin yolundan silin. ardından paketi yeniden yükleyin. Paketlerin global olarak şuraya yüklendiğini unutmayın: C: \ Users \ adınız \ AppData \ Roaming \ npm \ node_modules


0

Windows 10'da da aynı sorunu yaşıyordum. Şu adımları izleyin:

  • Cmd'yi yönetici olarak açın.

  • güncellenmiş npm paketi yükleyin.

  • npm ben -g npm

  • npm init - evet


0

Süper Yönetici olarak komutları çalıştırmak benim için çalıştı. Çalıştığınız Düzenleyiciyi kapattıktan sonra yeniden deneyin.


0

Ben de bununla uğraştım. Nvm kullanıyorsanız iyi çalışan bir çözüm buluyorum:

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

ve bu kadar.


0

Bu, Antivirüs yazılımınızdan kaynaklanıyor olabilir. AV'yi devre dışı bırakamazsanız, düğüm AV Motorları tarafından aktif olarak izlenen APPDATA dizinine yüklenirken NPM genel yükleme konumunuzu değiştirmeyi deneyebilirsiniz. Aşağıdaki komutları çalıştırmayı deneyin.

npm config set ön eki "ÖZEL KONUMUNUZ" npm config set cache "ÖZEL KONUMUNUZ"

Node_modules dizinini silin ve paketinizi yeniden kurun.


0

Benim durumumda typescript.disableAutomaticTypeAcquisition, Visual Studio Code'daki ayarım trueyardımcı oldu.



0

VS'yi kapattım, node_modules klasörünü sildim.

Sonra koştu:

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 

Daha sonra özelliği, çalıştırma tamamlandıktan sonra sadece node_modules klasöründe okunmayacak şekilde değiştirmek zorunda kaldı.

Sonra koştu:

npm i @microsoft/signalr @types/node

Ardından projeyi VS'de yedekleyin ve package.json bağımlılıklarla doğru baktı.

Diğerlerinin sadece node_modules klasöründe okunması ve npm kurulumunu çalıştırmak için VS'nin kapatılması hakkında konuşmasıyla aynı çizgide.


0

PHP Storm'da sorun yaşıyorsanız:

  1. Terminal sekmesini kapat
  2. Yeni bir terminal sekmesi açın
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.