npm ERR! EEXIST'i silmeyi / kodlamayı reddetme


93

Sadece basit çalıştırıyorum npm installve bu hatayı alıyorum.

npm ERR! path /Users/jasonazoulay/Desktop/fabrick.io/delegation/node_modules/@angular/cli/node_modules/webpack/node_modules/yargs/node_modules/os-locale/node_modules/execa/node_modules/cross-spawn/node_modules/.bin/which
npm ERR! code EEXIST
npm ERR! Refusing to delete /Users/jasonazoulay/Desktop/fabrick.io/delegation/node_modules/@angular/cli/node_modules/webpack/node_modules/yargs/node_modules/os-locale/node_modules/execa/node_modules/cross-spawn/node_modules/.bin/which: is outside /Users/jasonazoulay/Desktop/fabrick.io/delegation/node_modules/@angular/cli/node_modules/webpack/node_modules/yargs/node_modules/os-locale/node_modules/execa/node_modules/cross-spawn/node_modules/which and not a link
npm ERR! File exists: /Users/jasonazoulay/Desktop/fabrick.io/delegation/node_modules/@angular/cli/node_modules/webpack/node_modules/yargs/node_modules/os-locale/node_modules/execa/node_modules/cross-spawn/node_modules/.bin/which
npm ERR! Move it away, and try again

Bu hatayı ilk kez alıyorum ve ne yapacağımı bilmiyorum.


koşmayı da denedin sudo npm installmi?
antzshrek

Evet aynısını yaptı
Azoulay Jason

1
Bu sorunu, Google Dosya Akışı ile senkronize edilmekte olan bir klasörde bir proje barındırırken de gördüm. Projeyi bir "yerel diske" taşıdıktan sonra çalıştırabildimnpm install
Trevor

Yanıtlar:


147

Adımlar

  1. node_modulesDizini tamamen silin .
  2. npm installTekrar çalıştırın .

Bu yardımcı olmalı.


Bunu yaptıktan sonra npm-cli.js eksik olduğu için yüklenemedi. Npx dosyalarını kaldırmanın yanı sıra aşağıdaki yeniden adlandırma çözümünü yaptım
David Bradley

bu işe yarıyor, evet, ancak silme ve yükleme uzun zaman alıyor. bu çözüm optimal değildir.
jasie

1
Şimdi "C: \ Program Files \ nodejs \ node_modules \ npm \ bin \ npm-cli.js modülü bulunamıyor '
David Klempfner

1
@DavidKlempfner bu diğer SO cevabını kontrol etmek isteyebilirsiniz stackoverflow.com/questions/24721903/…
antzshrek

28

Google'da dolaştıktan sonra benimkini böyle çözdüm ...

  • Düğümünüzün kurulu olduğu dizine gidin
  • npm.cmdve npmdosyalarınızı yeniden adlandırın
  • Kurulumu tekrar çalıştırmayı deneyin
  • Başarılı olursa. Daha önce yeniden adlandırdığınız dosyaları silin npmvenpm.cmd
  • değilse, :( :(

Buradaki cli komutları ... yeniden adlandırmak istememeniz durumunda

cd %ProgramFiles%\nodejs
ren npm.cmd npm2.cmd
ren npm npm2 
npm2 install npm@latest -g

del npm2
del npm2.cmd

Rolf-schmidiger


4
Bu cevap benim için çalıştı, ancak aynı zamanda npx.cmd ve npx'i npx2.cmd ve npx2 olarak yeniden adlandırmak zorunda kaldım. Ayrıca terminali yönetici olarak çalıştırmam gerekiyordu.
raphadko

4
Bu benim için de çalıştı. Npx ve npx.cmd ile npm ve npm.cmd yeniden adlandırılmalıydı. Sonra "npm_ update -g npm" yaptım ve işe yaradı. Belki de nodej'leri bir Yükleyici aracılığıyla yüklemediğim, bunun yerine bir zip dosyasından çıkardığım gerçeğiyle bir ilgisi vardı.
Igor

1
ayrıca npx.cmd
Reza

1
Çalışanları yeniden adlandırmak yerine npx dosyalarını sildim, yenileri oluşturuldu.
David Bradley

2
Bu benim için de çalıştı. @DavidKlempfner, yeniden adlandırıldığı için komutu npm2 kullanarak çalıştırın. Bundan sonra "... \ npm \ node_modules * \ node_modules \ .bin * 'i silmeyi reddetme ile ilgili bir sorunla karşılaştım.
Zakk Diaz

7

Koşmayı deneyin, npm update -g npmsonra npm itekrar çalıştırın .
Bu işe yaramazsa belki npm cache cleanyardımcı olur.

Bu işe yaramazsa node_modules, uygulamanızdaki klasörü kaldırmayı ve npm itekrar çalıştırmayı düşünmelisiniz .
Hala şansınız yoksa, çalıştırmadan önce package-lock.jsonve node_modulesklasörü kaldırmanızı öneririm npm i.


2
@AzoulayJason farkettim. Açısal CLI'nin en yeni sürümünü kullanıyorsanız, yarnbunun yerine kullanılması şiddetle tavsiye edilir npm i. En son sürümde npm ile ilgili bir tür hata var. Umarım yardımcı olur!
OArnarsson

Npm @ 5 itibariyle, npm önbelleği bozulma sorunlarından kendini iyileştirir ve önbellekten çıkarılan verilerin geçerli olması garanti edilir. Her şeyin tutarlı olduğundan emin olmak istiyorsanız, bunun yerine 'npm önbellek doğrulaması'nı kullanın.
Ruan

4

Bu problemi Linux'ta aldım (npm şu anki en son 5.6.0), çünkü bir tgz arşivi oluşturdum ve bir tgz arşivi oluştururken man tar(bunlar test için VM'ye kopyalandı ). Bu şekilde birçok sembolik bağ node_modules/.binda normal dosyalar haline geldi. npm hata mesajında ​​.eg diyor

npm ERR! /Path/to/node_modules/.bin/jest'i silmeyi reddetme: / yol / node_modules / jest dışında ve bir bağlantı değil


2
  1. Node.js'yi denetim masasından kaldırın
  2. Aşağıdaki klasörleri sil
C:\Program Files (x86)\Nodejs
C:\Program Files\Nodejs
C:\Users\{User}\AppData\Roaming\npm (or %appdata%\npm)
C:\Users\{User}\AppData\Roaming\npm-cache (or %appdata%\npm-cache)
C:\Users\{User}\.npmrc (and possibly check for that without the . prefix too)
C:\Users\{User}\AppData\Local\Temp\npm-*
  1. Node.js'yi tekrar yükleyin

1


Yükleyiciyle düğümü silip yeniden yükleyerek çözülen benzer bir hatayla karşılaştım (benimki @angular değil) .


1

Ben de aynı problemi yaşadım ve ortaya çıkan problem, npmben yüklemeyi yapmaya çalışırken aynı zamanda arka planda bir yerde başıboş bir örnek çalışıyor olmasıydı (tam olarak Webpack'ti npm run serve).

Çalışan örneği durdurmak sorunu çözdü.


1

Benzer bir sorun yaşadım ve işe yarayan şey npm'yi kaldırmak ve yeniden yüklemek, yeniden yükleme için doğru kullanıcı olarak oturum açtığınızdan emin olmak. Sanırım daha önce npm'yi root olarak kurdum, ancak bir paketi normal (sudo) kullanıcı olarak güncelliyordum.


1

Sanal, şifreli bir diskte çalışırken bu sorunu yaşadım. Projeyi normal bir diske taşımak sorunu çözdü.


1

Ben de aynı hatayı yapıyorum ama "cordova" modülünü sürüm 9'a güncellemeye çalışırken, yüklemeyi zorlayarak düzelttim --force. Kullandığım npm komutu:

npm i -g --force cordova@9 

1

Bu benim için çalıştı

npm install -g --force gatsby-cli

Teşekkürler


1

Windows kullanıcıları için (Windows 10'a özel) bu, sorunu çözmelidir.

Bu klasöre gidin:

C:\Users\[UserName]\AppData\Roaming\

npmve npm-cacheklasörlerini silin veya yeniden adlandırın .

Bu, Windows'taki sorunumu çözdü.

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.