Npm安装错误EPERM操作不允许。

8
今天在运行angular4项目时,我遇到了第一个错误:npm install eperm操作不允许,所以我想删除我的node modules文件夹并重试。但是运行npm install时,我遇到了这个错误npm ERR!argv“C:\ Program Files \ nodejs \ node.exe”“C:\ Program Files \ nodejs \ node_modules \ npm \ bin \ npm-cli.js”“start”。我关闭了vscode以确保没有任何东西锁定它来尝试运行安装。我尝试过npm cache clean,但结果出现错误。enter image description here 今天的最新挑战:
0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-
  cli.js',
1 verbose cli   'install',
1 verbose cli   '-g',
1 verbose cli   '@angular/cli@latest' ]
2 info using npm@5.5.1
3 info using node@v8.9.3
4 verbose npm-session 2a0bb102467943cf
5 silly install loadCurrentTree
6 silly install readGlobalPackageData
7 error cb() never called!

管理员结果:

enter image description here

有什么建议吗?

我的package.json看起来像这样:

{
 "name": "gamemanagement",
 "version": "0.0.0",
 "license": "MIT",
 "scripts": {
   "ng": "ng",
   "start": "ng serve",
   "build": "ng build",
   "test": "ng test",
   "lint": "ng lint",
   "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
  "@angular/animations": "^5.0.1",
  "@angular/cdk": "^5.0.0-rc0",
  "@angular/common": "^5.0.1",
  "@angular/compiler": "^5.0.1",
  "@angular/compiler-cli": "^5.0.1",
  "@angular/core": "^5.0.1",
  "@angular/forms": "^5.0.1",
  "@angular/http": "^5.0.1",
  "@angular/material": "^5.0.0-rc0",
  "@angular/platform-browser": "^5.0.1",
  "@angular/platform-browser-dynamic": "^5.0.1",
  "@angular/platform-server": "^5.0.1",
  "@angular/router": "^5.0.1",
  "@ng-bootstrap/ng-bootstrap": "^1.0.0-beta.5",          
  "angular2-moment": "^1.7.0",
  "angular2-text-mask": "^8.0.4",  
  "angularfire2": "5.0.0-rc.3",
  "ap-angular2-fullcalendar": "^1.3.5",
  "bootstrap": "4.0.0-beta",
  "core-js": "^2.4.1",
  "firebase": "4.6.2",
  "font-awesome": "^4.7.0",
  "jquery": "^3.2.1",
  "moment": "^2.19.3",
  "ng2-date-picker": "^2.6.2",              
  "popper.js": "^1.12.9",
  "rxjs": "^5.4.2",
  "sweetalert2": "^7.0.9",
  "typescript": "^2.6.1",
  "zone.js": "^0.8.14"
 },
"devDependencies": {
"@angular/cli": "^1.5.3",
"@angular/compiler-cli": "^4.2.4",
"@angular/language-service": "^4.2.4",
"@types/jasmine": "~2.5.53",
"@types/jasminewd2": "~2.0.2",
"@types/node": "~6.0.60",
"codelyzer": "~3.2.0",
"jasmine-core": "~2.6.2",
"jasmine-spec-reporter": "~4.1.0",
"karma": "~1.7.0",
"karma-chrome-launcher": "~2.1.1",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^1.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.1.2",
"ts-node": "~3.2.0",
"tslint": "~5.7.0",
"typescript": "~2.3.3"
}

}


1
你的根目录下是否有 package.lock.json 文件? - Cristophs0n
2
以管理员身份运行此程序。 - Nilay Vishwakarma
1
尝试关闭所有其他程序,例如您的IDE等。看起来另一个进程正在锁定您的文件。 - Cristophs0n
@TroyBryant,你解决了这个问题吗?请帮帮我,我也遇到了同样的问题,无法通过下面给出的答案解决。 - Rupesh
@Rupesh 关于解决问题的答案是肯定和否定的。这个问题发生在两台不同的机器上,我的工作机器和长话短说,节点和其他所有东西都被阻止了,因此我无法在节点项目上工作。在我的个人机器上,运行npm cache clean --force,然后重新启动,再次运行它,最后进行最新的npm安装,确实解决了这个问题。 - Troy Bryant
显示剩余5条评论
10个回答

17

我曾经遇到过同样的问题。清除缓存并更新npm后一切正常。因此,请尝试运行以下命令:

npm cache clean --force

npm install -g npm@latest


1
npm cache clean --force 在 AppData Roaming 文件夹中抛出权限错误。 - Troy Bryant

7

macOS Catalina,

            npm init 

遇到错误了

       operation not permitted, uv_cwd

步骤1:进入上级文件夹

         cd ../
         

第二步:再次进入您的项目文件夹,

         cd  your-project-folder

就是这样。它有效。


我不知道为什么这个有效,但它确实有效!谢谢 :) - Webkraft Studios

5

这个问题有两个解决方案:

  1. 执行 "npm cache clean" 命令。
  2. 管理员权限 运行命令提示符。

我刚刚在管理员模式下再次执行了此操作。已发布错误图片。 - Troy Bryant

1
请您自行安装出现错误的模块。在尝试了许多建议之后,我发现在全局安装引起错误的特定模块可以解决问题:
例如: npm ERR! { Error: EPERM: operation not permitted, unlink 'Path\Docume nts\AngularProjects\my-sample-app333\node_modules.staging@angular\core-a3d1aa4 8\ bundles\core.umd.js

我运行了npm install -global @angular/core 然后问题就解决了!终于!!

1

请尝试以下步骤,希望能够帮到您。

  • 更新Node.js

  • 在命令提示符中使用npm cache clean命令,尝试以管理员身份运行

如果持久存在,请检查node代理设置并使用以下方法将其移除

npm config delete http-proxy
npm config delete https-proxy

0

100%确定

首先删除项目文件夹。例如:myapp1

然后运行 -> npm cache clean --force 命令

重新输入之前出错的命令。


0

我尝试了以上所有方法,但都没有成功。
我复制了package.json文件的所有内容并删除了该文件。然后,我创建了一个新文件,将所有内容粘贴到其中,并将其保存为package.json。
这解决了所有问题。


0
我也遇到了相同的问题,但是一旦我从项目中删除了node_modules文件夹和package-lock.json文件,然后再用npm i重新安装整个东西,它就对我起作用了。 我的项目文件夹结构

0

只需尝试 npm cache clean 快速简单 :)


0
我在我的Cordova项目的MacOS上遇到了类似的问题。 在终端中,我在项目的根目录下通过运行以下命令切换到超级用户:
sudo su

然后我能够顺利运行npm install,没有任何问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接