npm - EPERM: hoạt động không được phép trên Windows


105

Tôi đã chạy

npm config set prefix /usr/local

Sau khi chạy lệnh đó, Khi cố gắng chạy bất kỳ lệnh npm nào trên Hệ điều hành Windows, tôi tiếp tục nhận được thông tin bên dưới.

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

Đã xóa tất cả các tệp khỏi

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

Nó đã không hoạt động.

Bất kì lời đề nghị nào ?


25
Chạy npm cache clean --forcegiải quyết vấn đề cho tôi.
Nuhman

Chạy sạch bộ nhớ cache npm --force trong hai lần đã hiệu quả với tôi.
VIshal Jain

Câu trả lời:


101

Chạy lệnh này là sai lầm của tôi.

npm config set prefix / usr / local

Đường dẫn /usr/localkhông dành cho cửa sổ. Lệnh này đã thay đổi biến tiền tố tại'C:\Program Files (x86)\Git\local'

Để truy cập và thực hiện thay đổi đối với thư mục này, tôi cần chạy cmd của mình với tư cách quản trị viên.

Tôi cũng vậy:

  1. Chạy cmd với tư cách quản trị viên
  2. Chạy npm config edit(Bạn sẽ nhận được trình chỉnh sửa notepad)
  3. Thay đổi prefixbiến thànhC:\Users\<User Name>\AppData\Roaming\npm

Sau đó npm starthoạt động trong một bảng điều khiển bình thường.


4
điều này cũng giải quyết được vấn đề của tôi (windows 10), cảm ơn bạn.
AntonB

Trong trường hợp của tôi, tôi chỉ đơn giản bỏ chú thích prefix(là ;prefix...) sau npm config editvà Lợi nhuận. Không chắc đó có phải là Điều thông minh hay không, nhưng nó đã hoạt động.
ruffin

trong trường hợp của tôi, tôi không có quyền quản trị đối với tôi trên máy tính xách tay vì vậy đây là cách tôi đã làm nó- stackoverflow.com/a/57249779/10603466
Rishabh Jain

Chỉ cần chạy lại khi quản trị viên đã khắc phục sự cố của tôi.
Unbreakable

31

Điều này xảy ra do cửa sổ không cấp quyền cho người dùng để tạo một thư mục bên trong ổ đĩa hệ thống. Để giải quyết điều này:

Kích chuột phải

Tab Thư mục> Thuộc tính > Bảo mật

Nhấp vào Chỉnh sửa để thay đổi Quyền> Chọn người dùng và trao Toàn quyền kiểm soát cho người dùng đó.


2
Thêm một số giải thích với câu trả lời về cách thức này trả lời giúp đỡ OP trong sửa chữa vấn đề hiện tại
ρяσѕρєя K

1
Cấp cho người dùng quyền truy cập để thay đổi các thư mục hệ thống không phải là một ý tưởng hay, đặc biệt là khi điều này có thể dễ dàng khắc phục bằng cách thay đổi tiền tố thành một thư mục trong thư mục chính của người dùng.
atom77

1
điều này sẽ không hoạt động với máy tính xách tay của công ty mà bạn không phải là quản trị viên hệ thống.
schlingel


26

Đôi khi, tất cả những gì cần thiết là dừng máy chủ nhà phát triển trước khi cài đặt / cập nhật các gói.


1
Gặp sự cố này trên WebStorm. Cảm ơn bạn! Điều này đã giải quyết vấn đề.
takasoft

1
cách kỳ quặc nhưng là sự thật ... cài đặt react-dom@16.7.0-alpha.0 cho thử phản ứng móc không làm việc cho đến khi cố gắng này
Dimitar Nikovski

Để thêm vào đó, nếu bạn nghi ngờ vấn đề này là máy chủ dev của bạn đang chạy nhưng không biết làm thế nào để ngăn chặn nó, chỉ cần logout / khởi động lại cửa sổ của bạn sẽ luôn luôn sửa chữa lool này
Ng Sek dài

24

Gần đây tôi đã gặp sự cố tương tự khi nâng cấp lên phiên bản mới, giải pháp duy nhất là thực hiện việc hạ cấp

Để gỡ cài đặt:

npm uninstall npm -g

Cài đặt phiên bản trước:

npm install npm@5.3 -g

Hãy thử cập nhật phiên bản trong giây phút khác.


2
Ở đây cũng vậy. Trông giống như nâng cấp NPM là vấn đề
SokIsKedu

Chính xác là tôi đang theo dõi chủ đề này để biết khi nào nó sẽ được sửa.
Leonardo Oliveira

CÁi này đã sửa nó giúp tôi!
Jim,

btw, tôi đã cập nhật từ 5.4.1 lên 5.4.2 và sự cố dường như đã biến mất - vì vậy tôi nghĩ sự cố có thể đã được khắc phục. Hơi khó nói vì chủ đề mà Leonardo đề cập đã bị khóa.
Hỗ trợ Mantis

Nó cũng làm việc cho tôi. Cảm ơn @LeonardoOliveira vì sự giúp đỡ
Vipin

13

Trong trường hợp của tôi, tôi gặp phải lỗi này vì thư mục của tôi và tệp của nó đã được mở trong trình chỉnh sửa của tôi (mã VS) khi tôi đang chạy npm install. Tôi đã giải quyết vấn đề bằng cách đóng trình chỉnh sửa của mình và chạy npm installqua dòng lệnh.


10

Tôi đã gặp vấn đề tương tự, sau khi cập nhật npm. Đã giải quyết nó bằng cách cài đặt lại npm mới nhất một lần nữa với:

npm i -g npm

nhưng lần này với cmd đang chạy ở chế độ quản trị.

tôi đã làm tất cả điều này vì tôi nghi ngờ có vấn đề với bản cập nhật, chủ yếu là một số tệp bị thiếu.


10

Tôi sử dụng Windows 10. Tôi đã khởi động CMD với tư cách quản trị viên và nó đã giải quyết được sự cố.

Tìm CMD, nhấp chuột phải và nhấp vào mở với tư cách quản trị viên.


điều này đã giải quyết vấn đề của tôi.
muneeb_ahmed

@EtienneGautier Điều đó ... đơn giản là không đúng chút nào. Giải pháp đề xuất của bạn để sửa đổi các tệp hệ thống là gì? Nếu có bất kỳ cách nào để làm điều đó ngoài "quyền quản trị viên" thì có điều gì đó sai nghiêm trọng với bảo mật của hệ điều hành.
Clonkex

Này @Clonkex, tôi đã giả định rằng ngữ cảnh là của NPM (theo câu hỏi). Vẫn bình luận của tôi không liên quan, tôi đang xóa nó. Cảm ơn phản hôi của bạn.
Etienne Gautier

@EtienneGautier Ah đủ công bằng.
Clonkex

7

đối với tôi, đó là vấn đề khi thay đổi các thư mục hiện có trong node_module, vì vậy tôi đã xóa toàn bộ thư mục và chạy lại cài đặt npm. nó hoạt động không có lỗi sau đó


7

Tôi đã có một phiên bản lỗi thời của npm. Tôi đã chạy một loạt lệnh để giải quyết vấn đề này:

npm cache clean --force

Sau đó:

npm install -g npm@latest --force

Sau đó (một lần nữa):

npm cache clean --force

Và cuối cùng đã có thể chạy điều này (cài đặt dự án Angular) mà không gặp các lỗi liên quan đến EPERM:

ng new myProject

6

Tôi đã cùng một vấn đề khi tôi đã cố gắng để cài đặt gói NPM AVA. Giải pháp cho tôi là xóa thư mục node_modules và buộc xóa bộ nhớ cache npm:

rm -rf node_modules
npm cache clean --force

Sau đó tôi có thể cài đặt gói npm mà không gặp sự cố.


Có, tôi bằng cách nào đó đã có các thư mục node_modules trong thư mục làm việc hiện tại. Nó đã ném ra ngoại lệ đó khi tôi cố gắng chạy các lệnh cli góc 'ng mới ..'. Đã giúp xóa các thư mục node_modules.
Ashokan Sivapragasam

3

Cách đơn giản nhất

Hy vọng tôi không quá muộn cho bài đăng này nhưng gần đây tôi cũng bị ảnh hưởng bởi vấn đề này. Và tôi cũng không có quyền quản trị trên máy tính xách tay của mình.

Đây là cách đơn giản nhất tôi đã sửa lỗi.

  1. Tìm tên tệp .npmrc(nó sẽ ở trong C:\Users\<user name>\.npmrc)
  2. Mở nó và thay đổi đường dẫn prefix=đếnprefix=C:\Users\<user name>\AppData\Roaming\npm

hy vọng nó sẽ hữu ích ..


Tôi gặp sự cố này khi sử dụng WebStorm. Đây là điều duy nhất trong trang đầu tiên của Google giải quyết được vấn đề của tôi. Cảm ơn Rishabh!
Leandro

3

Nếu bạn gặp lỗi này trong dấu nhắc lệnh / thiết bị đầu cuối của IDE, hãy thử xóa node_modules, đóng IDE và chạy lại npm installlệnh. Thời điểm IDE bắt đầu nhưng vẫn chưa hoàn thành việc phân tích cây node_modules là một thời điểm khó khăn, khi cài đặt các gói có thể không thành công vì IDE vẫn đang quét nội dung node_modules.



1

Tôi đã gặp vấn đề tương tự, khi tôi đang sử dụng mạng LAN của công ty mình. Và tôi chỉ chạy cmd.exe npmvà tôi có thể thực hiện các lệnh khác của mình mà không gặp bất kỳ lỗi nào sau đó.

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

Chỉ chia sẻ điều này, vì nó có thể giúp những người khác cố gắng thực hiện việc này trong mạng LAN văn phòng của họ. Cảm ơn bạn.


1

Chỉ cần chạy cmd với tư cách quản trị viên. xóa thư mục node_modules cũ và chạy lại cài đặt npm.


1
npm install sẽ hoạt động mà không cần khởi động CMD với tư cách quản trị viên. Nó không hoạt động trên cmd bình thường (không phải quản trị viên) cũng là một vấn đề.
Lahar Shah

1

Tìm lệnh này npm cache cleannhư một giải pháp cho những lỗi đó một cách nhanh chóng và đơn giản!


1

Tôi đã cập nhật phiên bản nút của mình lên 8.9.4 và chạy lại lệnh cài đặt cần thiết từ dấu nhắc lệnh của quản trị viên. Nó đã làm việc cho tôi!


1

Khởi động lại máy tính xách tay của tôi và sau đó

npm install

đã làm cho tôi!


1

Đã xảy ra với tôi vì thư mục / tệp đã bị khóa bởi một quá trình khác. Đã sử dụng một công cụ (LockHunter) để chấm dứt quá trình đó và nó bắt đầu hoạt động trở lại (có thể có lý do).


1

Hãy thử npm i -g npm. Phiên bản NPM 6.9 là phù hợp với tôi.


1

Windows 10,

Chạy IDE (trong trường hợp của tôi là IntelliJ) ở chế độ quản trị viên và thực hiện cài đặt npm sẽ giải quyết được sự cố.

Nếu không có IDE, hãy chạy CMD ở chế độ quản trị viên và thử thực hiện cài đặt npm


1

Tôi đang chạy máy chủ tạo-phản ứng-ứng dụng. Đơn giản chỉ cần dừng máy chủ và mọi thứ hoạt động tốt.


1
Điều này đã giải quyết vấn đề của tôi! Tôi nghĩ bạn nên thử cái này trước khi thử cái khác. Vì các câu trả lời khác đòi hỏi nhiều nỗ lực hơn.
Irfandy Jip


0

Chạy lệnh npm trong Windows Powershell đã giải quyết được sự cố của tôi.


Tôi không cần phải chỉnh sửa bất kỳ cấu hình tập tin địa phương hoặc khác
Sài Prasad

0

Tôi cũng vậy, giải pháp của tôi là đóng Android studio, AVD Manager, Visual Studio và cài đặt lại. Tôi đã thực hiện lệnh này để cập nhật hội chợ của mình cli:

npm install -g expo-cli

0

Rõ ràng phần mềm chống vi-rút cũng có thể gây ra lỗi này. Trong trường hợp của tôi, tôi đã có Bảo vệ Ransomware của Bảo mật Windows bảo vệ các thư mục người dùng của tôi, nguyên nhân gây ra lỗi này.


0

Đối với tôi, đó là sự cố với tệp .npmrc. Có trong C: \ Users \ myname.npmrc Bằng cách nào đó, nội dung của tệp .npmrc đã bị thay đổi. Tôi đã thay đổi nội dung bằng cách so sánh với máy tính xách tay của đồng nghiệp. Vì vậy, nó đã được giải quyết.

Để tham khảo, tôi cũng đang thêm nội dung của tệp .npmrc

 ;;;;
 ;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

0

Đối với những người cố gắng cập nhật cấu hình

Nếu gặp sự cố khi cập nhật cấu hình npm của bạn, hãy thử chạy bằng cờ -g . Điều này đã giải quyết vấn đề trên Win 10 cho tôi sau khi thử mọi thứ khác.

npm config edit -g

Tôi có thể cập nhật cấu hình và các thay đổi được phản ánh ở mọi nơi. Điều này có thể do chạy npm trong phạm vi tổ chức.


0

npm install cross-env Hãy thử điều này, nó có hiệu quả với tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.