npm - EPERM: operasi tidak diizinkan di Windows

106

Aku lari

npm config set prefix /usr/local

Setelah menjalankan perintah itu, Ketika mencoba menjalankan perintah npm apa pun di OS Windows saya terus mendapatkan yang di bawah ini.

Error: EPERM: operation not permitted, mkdir 'C:\Program Files (x86)\Git\local'
at Error (native)

Telah menghapus semua file dari

C:\Users\<your username>\.config\configstore\

Tidak bekerja.

Ada saran ?

Lahar Shah
sumber
25
Menjalankan npm cache clean --forcememecahkan masalah bagi saya.
Nuhman
Menjalankan npm cache clean --force untuk dua kali berhasil untuk saya.
VIshal Jain

Jawaban:

101

Menjalankan perintah ini adalah kesalahanku.

npm config mengatur awalan / usr / local

Path /usr/localbukan untuk windows. Perintah ini mengubah variabel awalan di'C:\Program Files (x86)\Git\local'

Untuk mengakses dan membuat perubahan ke direktori ini, saya perlu menjalankan cmd saya sebagai administrator.

Jadi saya melakukan:

  1. Jalankan cmd sebagai administrator
  2. Jalankan npm config edit(Anda akan mendapatkan editor notepad)
  3. Ubah prefixvariabel menjadiC:\Users\<User Name>\AppData\Roaming\npm

Kemudian npm startbekerja di konsol normal.

Lahar Shah
sumber
4
ini memecahkan masalah saya juga (windows 10), terima kasih.
AntonB
Dalam kasus saya, saya hanya tanda komentar prefix(adalah ;prefix...) setelah npm config edit, dan Profit. Tidak yakin apakah itu A Smart Thing, tetapi berhasil.
ruffin
dalam kasus saya, saya tidak memiliki hak admin untuk saya di laptop jadi inilah cara saya melakukannya- stackoverflow.com/a/57249779/10603466
Rishabh Jain
Hanya menjalankan kembali sebagai admin memperbaiki masalah saya.
dipecahkan
32

Ini terjadi karena windows tidak memberikan izin kepada pengguna untuk membuat folder di dalam drive sistem. Untuk mengatasi ini:

Klik kanan

Folder> Properti > Tab Keamanan

Klik Edit untuk mengubah Izin> Pilih pengguna dan berikan Kontrol Penuh kepada pengguna tersebut.

RatneZ
sumber
2
Tambahkan beberapa penjelasan dengan jawaban bagaimana jawaban ini membantu OP dalam memperbaiki masalah saat ini
ρяσѕρєя K
1
Memberi pengguna akses untuk mengubah folder sistem bukanlah ide yang baik, terutama bila hal ini dapat dengan mudah diperbaiki dengan mengubah awalan ke folder di direktori home pengguna.
atomic77
1
ini tidak akan berfungsi dengan laptop perusahaan di mana Anda bukan admin sistem.
schlingel
26

Terkadang, yang diperlukan hanyalah menghentikan server dev sebelum menginstal / memperbarui paket.

Ezra Obiwale
sumber
1
Mengalami masalah ini di WebStorm. Terima kasih! Ini menyelesaikan masalah.
takasoft
1
betapa aneh tapi benar ... menginstal [email protected] untuk mencoba react hooks tidak berhasil sampai mencoba ini
Dimitar Nikovski
Untuk menambah ini, jika Anda mencurigai masalah ini adalah dev server Anda berjalan tetapi tidak tahu bagaimana menghentikannya, cukup logout / restart windows Anda akan selalu memperbaiki lool ini
Ng Sek Long
24

Saya baru-baru ini mengalami masalah yang sama ketika saya mengupgrade ke versi baru, satu-satunya solusi adalah melakukan downgrade

Untuk mencopot pemasangan:

npm uninstall npm -g

Instal versi sebelumnya:

npm install npm@5.3 -g

Coba perbarui versi di lain waktu.

Leonardo Oliveira
sumber
2
Sama disini. Sepertinya peningkatan npm adalah masalahnya
SokIsKedu
Tepatnya, saya mengikuti topik ini untuk mengetahui kapan akan diperbaiki.
Leonardo Oliveira
ini memperbaikinya untuk saya!
Jim
btw, saya memperbarui dari 5.4.1 ke 5.4.2 dan masalah tampaknya telah hilang - jadi saya pikir masalahnya mungkin telah diperbaiki. Agak sulit untuk mengatakan karena topik yang dimaksud Leonardo dikunci.
Dukungan Mantis
Itu berhasil untuk saya juga. Terima kasih @LeonardoOliveira atas bantuannya
Vipin
13

Dalam kasus saya, saya menghadapi kesalahan ini karena direktori saya dan filenya dibuka di editor saya (kode VS) ketika saya sedang berjalan npm install. Saya memecahkan masalah dengan menutup editor saya dan menjalankan npm installbaris perintah.

Shashank Rawat
sumber
10

Saya memiliki masalah yang sama, setelah memperbarui npm. Selesaikan dengan menginstal ulang npm terbaru lagi dengan:

npm i -g npm

tapi kali ini dengan cmd yang berjalan dalam mode administrasi.

saya melakukan semua ini karena saya curiga ada masalah dengan pembaruan, sebagian besar beberapa file hilang.

Salimd83
sumber
10

Saya menggunakan Windows 10. Saya memulai CMD sebagai administrator, dan itu memecahkan masalah.

Temukan CMD, klik kanan, dan klik open as administrator.

DIANGELISJ
sumber
@EtienneGautier Itu ... sama sekali tidak benar. Apa solusi yang Anda usulkan untuk mengubah file sistem? Jika ada cara untuk melakukannya selain dengan "izin administrator" maka ada sesuatu yang salah dengan keamanan OS.
Clonkex
Hai @Clonkex, saya berasumsi bahwa konteksnya adalah konteks NPM (sesuai pertanyaan). Masih komentar saya tidak relevan, saya menghapusnya. Terima kasih atas tanggapan Anda.
Etienne Gautier
@EtienneGier Ah cukup adil.
Clonkex
7

bagi saya itu masalah mengubah folder yang ada di node_module, jadi saya nuked seluruh folder dan menjalankan npm install lagi. itu berfungsi tanpa kesalahan setelah itu

Sonic Soul
sumber
7

Saya memiliki versi lama dari npm. Saya menjalankan serangkaian perintah untuk mengatasi masalah ini:

npm cache clean --force

Kemudian:

npm install -g npm@latest --force

Kemudian (sekali lagi):

npm cache clean --force

Dan akhirnya dapat menjalankan ini (menginstal proyek Angular) tanpa kesalahan yang saya lihat terkait EPERM:

ng new myProject
LatentDenis
sumber
6

Saya mengalami masalah yang sama ketika saya mencoba menginstal paket npm AVA. Solusi bagi saya adalah menghapus folder node_modules dan membersihkan paksa cache npm:

rm -rf node_modules
npm cache clean --force

Saya kemudian dapat menginstal paket npm tanpa masalah.

Liran H.
sumber
Ya, entah bagaimana saya memiliki folder node_modules di direktori kerja saat ini. Itu melemparkan pengecualian itu ketika saya mencoba menjalankan perintah cli sudut 'ng baru ..'. Menghapus folder node_modules membantu.
Ashokan Sivapragasam
3

Cara paling sederhana

Semoga saya tidak terlambat untuk posting ini tetapi baru-baru ini bahkan saya juga terkena masalah ini. Dan juga saya tidak memiliki hak admin di laptop saya.

Inilah cara termudah untuk memperbaiki bug.

  1. Temukan nama file .npmrc(itu akan menjadiC:\Users\<user name>\.npmrc )
  2. Buka dan ubah jalur prefix=menjadiprefix=C:\Users\<user name>\AppData\Roaming\npm

semoga bermanfaat ..

Rishabh Jain
sumber
1
Saya mengalami masalah ini menggunakan WebStorm. Ini adalah satu-satunya hal di halaman pertama Google yang memecahkan masalah saya. Terima kasih Rishabh!
Leandro
senang itu membantu Anda :)
Rishabh Jain
3

Jika Anda mendapatkan kesalahan ini di terminal / command prompt IDE, coba hapus node_modules, tutup IDE, dan jalankan npm installperintah lagi. Saat IDE dimulai tetapi masih belum menyelesaikan analisisnya terhadap pohon node_modules adalah saat yang sulit, ketika penginstalan paket mungkin gagal karena IDE masih memindai konten node_modules.

Kote Isaev
sumber
3

Memulai ulang VsCode menyelesaikannya untuk saya.

Legenda
sumber
1

Saya memiliki masalah yang sama, karena saya menggunakan LAN perusahaan saya. Dan saya hanya berlari cmd.exe npmdan saya bisa menjalankan perintah saya yang lain tanpa kesalahan setelah itu.

C:\Users\586656>cmd.exe npm
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.

Hanya membagikan ini, karena dapat membantu orang lain yang mencoba melakukan ini di LAN kantor mereka. Terima kasih.

Sibeesh Venu
sumber
1

Jalankan saja cmd sebagai admin. hapus folder node_modules lama dan jalankan npm install lagi.

Rahul Khunt
sumber
1
npm install seharusnya bekerja tanpa memulai CMD sebagai admin. Tidak berfungsi pada cmd normal (non admin) juga menjadi masalah.
Lahar Shah
1

Temukan perintah ini npm cache cleansebagai solusi untuk kesalahan tersebut dengan cara cepat dan sederhana!

Hanny Setiawan
sumber
1

Saya memperbarui versi node saya ke 8.9.4 dan menjalankan perintah instal yang diperlukan lagi dari command prompt administrator. Itu berhasil untuk saya!

Rahul Sharma
sumber
1

Sebuah reboot laptop saya dan kemudian

npm install

bekerja untuk saya!

Chau Nguyen
sumber
1

Terjadi pada saya karena folder / file dikunci oleh proses lain. Menggunakan alat (LockHunter) untuk menghentikan proses itu dan mulai bekerja kembali (kemungkinan alasan).

hummus
sumber
1

Coba npm i -g npm. NPM versi 6.9 bekerja untuk saya.

karlos
sumber
1

Windows 10,

Menjalankan IDE (dalam kasus saya IntelliJ) dalam mode administrator dan menjalankan instalasi npm tidak menyelesaikan masalah.

Jika tidak ada IDE, jalankan CMD dalam mode administrator dan coba jalankan npm install

Sasi Kumar M
sumber
1

Saya menjalankan server create-react-app. Cukup hentikan server dan semuanya bekerja dengan baik.

Lebih aman
sumber
1
Ini memecahkan masalah saya! Saya pikir Anda harus mencoba ini dulu sebelum mencoba yang lain. Karena jawaban lain membutuhkan lebih banyak usaha.
Irfandy Jip
0

Menjalankan perintah npm di Windows Powershell memecahkan masalah saya.

Sai Prasad
sumber
Saya tidak perlu mengedit file konfigurasi lokal atau lainnya
Sai Prasad
0

Sama dengan saya, solusi saya adalah menutup studio Android, AVD Manager, Visual Studio dan instal ulang. Saya menjalankan perintah ini untuk memperbarui expo cli saya:

npm install -g expo-cli
Loitd
sumber
0

Ternyata perangkat lunak anti-virus juga dapat menyebabkan kesalahan ini. Dalam kasus saya, saya memiliki Perlindungan Ransomware Keamanan Windows yang melindungi folder pengguna saya yang menyebabkan kesalahan ini.

orrd
sumber
0

Bagi saya, ini adalah masalah dengan file .npmrc. Yang ada di C: \ Users \ myname.npmrc Entah bagaimana konten file .npmrc berubah. Saya telah mengubah konten dengan membandingkan dengan laptop rekan saya. Jadi itu terpecahkan.

Sebagai referensi, saya menambahkan konten file .npmrc juga

 ;;;;
 ;npm userconfig file
 ;this is a simple ini-formatted file
 ;lines that start with semi-colons are comments.
 ;read `npm help config` for help on the various options
 ;;;;

 //registry.npmjs.org/:_authToken=95632bcf-3056-4538-b57d-38426736e3a0
 scope=true
 @true:registry=https://registry.npmjs.org/

 ;;;;
 ;all options with default values
 ;;;;
 ;access=null

 ;allow-same-version=false

 ;always-auth=false

 ;also=null

 ;audit=true

 ;audit-level=low

 ;auth-type=legacy

 ;before=null

 ;bin-links=true

 ;browser=null

 ;ca=null

 ;cafile=undefined

 ;cache=C:\Users\myname\AppData\Roaming\npm-cache

 ;cache-lock-stale=60000

 ;cache-lock-retries=10

 ;cache-lock-wait=10000

 ;cache-max=null

 ;cache-min=10

 ;cert=null

 ;cidr=null

 ;color=true

 ;depth=null

 ;description=true

 ;dev=false

 ;dry-run=false

 ;editor=notepad.exe

 ;engine-strict=false

 ;force=false

 ;fetch-retries=2

 ;fetch-retry-factor=10

 ;fetch-retry-mintimeout=10000

 ;fetch-retry-maxtimeout=60000

 ;git=git

 ;git-tag-version=true

 ;commit-hooks=true

 ;global=false

 ;globalconfig=C:\Users\myname\AppData\Roaming\npm\etc\npmrc

 ;global-style=false

 ;group=0

 ;ham-it-up=false

 ;heading=npm

 ;if-present=false

 ;ignore-prepublish=false

 ;ignore-scripts=false

 ;init-module=C:\Users\myname\.npm-init.js

 ;init-author-name=

 ;init-author-email=

 ;init-author-url=

 ;init-version=1.0.0

 ;init-license=ISC

 ;json=false

 ;key=null

 ;legacy-bundling=false

 ;link=false

 ;local-address=undefined

 ;loglevel=notice

 ;logs-max=10

 ;long=false

 ;maxsockets=50

 ;message=%s

 ;metrics-registry=null

 ;node-options=null

 ;node-version=10.15.2

 ;offline=false

 ;onload-script=null

 ;only=null

 ;optional=true

 ;otp=null

 ;package-lock=true

 ;package-lock-only=false

 ;parseable=false

 ;prefer-offline=false

 ;prefer-online=false

 ;prefix=C:\Program Files\nodejs

 ;preid=

 ;production=false

 ;progress=true

 ;proxy=null

 ;https-proxy=null

 ;noproxy=null

 ;user-agent=npm/{npm-version} node/{node-version} {platform} {arch}

 ;read-only=false

 ;rebuild-bundle=true

 ;registry=https://registry.npmjs.org/

 ;rollback=true

 ;save=true

 ;save-bundle=false

 ;save-dev=false

 ;save-exact=false

 ;save-optional=false

 ;save-prefix=^

 ;save-prod=false

 ;scope=

 ;script-shell=null

 ;scripts-prepend-node-path=warn-only

 ;searchopts=

 ;searchexclude=null

 ;searchlimit=20

 ;searchstaleness=900

 ;send-metrics=false

 ;shell=C:\windows\system32\cmd.exe

 ;shrinkwrap=true

 ;sign-git-commit=false

 ;sign-git-tag=false

 ;sso-poll-frequency=500

 ;sso-type=oauth

 ;strict-ssl=true

 ;tag=latest

 ;tag-version-prefix=v

 ;timing=false

 ;tmp=C:\Users\myname\AppData\Local\Temp

 ;unicode=false

 ;unsafe-perm=true

 ;update-notifier=true

 ;usage=false

 ;user=0

 ;userconfig=C:\Users\myname\.npmrc

 ;umask=0

 ;version=false

 ;versions=false

 ;viewer=browser

 ;_exit=true

 ;globalignorefile=C:\Users\myname\AppData\Roaming\npm\etc\npmignore
Thilak Raj
sumber
0

Bagi mereka yang mencoba memperbarui konfigurasi

Jika mengalami masalah saat memperbarui konfigurasi npm Anda, coba jalankan menggunakan tanda -g . Ini memecahkan masalah pada Win 10 untuk saya setelah mencoba yang lainnya.

npm config edit -g

Saya dapat memperbarui konfigurasi dan perubahan tercermin di mana-mana. Ini mungkin karena menjalankan npm dalam lingkup organisasi.

factorypolaris
sumber
0

npm install cross-env Coba ini berhasil untuk saya.

Mohit Poddar
sumber