错误!代码 EPERM

Npm ERR! code EPERM

我正在使用节点 v6.11.2、npm v5.3.0 和 angular/cli v1.2.7。

我的大多数 npm 安装突然收到以下错误消息。以前没见过...

mmeppiel@MC-LT-MMEPPIEL MINGW64 ~/Desktop/Angular Solutions/my-app (master)
$ npm install --save bootstrap@4.0.0-alpha.6 font-awesome
npm ERR! path C:\Users\mmeppiel\Desktop\Angular Solutions\my-app\node_modules\fs                            events\node_modules
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall lstat
npm ERR! Error: EPERM: operation not permitted, lstat 'C:\Users\mmeppiel\Desktop                            \Angular Solutions\my-app\node_modules\fsevents\node_modules'
npm ERR!     at Error (native)
npm ERR!  { Error: EPERM: operation not permitted, lstat 'C:\Users\mmeppiel\Desk                            top\Angular Solutions\my-app\node_modules\fsevents\node_modules'
npm ERR!     at Error (native)
npm ERR!   stack: 'Error: EPERM: operation not permitted, lstat \'C:\Users\mme                            ppiel\Desktop\Angular Solutions\my-app\node_modules\fsevents\node_modules\                            '\n    at Error (native)',
npm ERR!   errno: -4048,
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'lstat',
npm ERR!   path: 'C:\Users\mmeppiel\Desktop\Angular Solutions\my-app\node_                            modules\fsevents\node_modules' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\mmeppiel\AppData\Roaming\npm-cache\_logs17-08-08T00_56_                            59_442Z-debug.log

谁能解释一下这是怎么回事?我尝试过的事情:

感谢您的宝贵时间!

这可能会有所帮助 https://alastaircrabtree.com/fixing-intermittant-eperm-operation-not-permitted-on-npm-install/

也尝试玩不同的 node 版本 upgrading/switching 你的 Windows 上的 node 的最好方法是使用 nvm-windows 这样你可以在您的开发机器上安装了多个节点版本,您可以切换。

更新 0:

当你处理这样的问题时,你必须确保没有像你的代码编辑器(例如 VS 代码等)那样锁定我们的 node_modules 文件夹,否则你可能 运行 npm start 在另一个控制台中 window,等等

更新 1:

如果问题仍然存在,请尝试完全从您的系统 uninstall both node and npm。然后重新启动机器并再次安装 node 和 npm。

然而

通过查看 npm ERR! code EPERM 过滤的 npm 问题,这是一个常见问题。如果你浏览其中的一些问题,你会看到有些人说切换节点版本实际上是有帮助的(正是我在上面所说的)所以你需要玩 nvm-windows 看看哪个节点版本最有效为你。

安装 nvm-windows 后,您可以执行以下操作:

  • nvm list - 显示您可以切换到的所有本地节点版本
  • nvm list available - 显示 all actual node versions 您可以在本地安装
  • nvm install <version number> - 安装(下载+安装)特定节点版本
  • nvm use <version number> 切换到特定节点版本
  • nvm help - 会给你帮助

If you jump from major version of npm some of your packages that you installed with a previous node version might no longer work so you have to be reinstall them

我在 运行 Visual Studio 代码时收到此错误,因为打字稿编译器监视文件并锁定它们(请参阅 https://github.com/Microsoft/vscode/issues/28593)。解决方法是在处理 NPM 时,暂时关闭 VS Code。也许你有什么东西在看文件?

问题是您使用的操作系统节点版本不正确。它正在尝试获取 Windows.

上不存在的 lstat(一个 POSIX 系统调用)

目前除了install the correct npm

我没有其他解决方案

希望对您有所帮助!

https://linux.die.net/man/2/lstat

编辑 如果您找不到修复程序,我建议您转到 Github 问题页面。

您使用的是私人或公司注册中心吗?检查您的 .npmrc 文件并确保其可用。

如果您在公司环境中,请确保代理不是问题。

如果生成任何包,请检查您的文件夹-lock.json。你可以删除那个make re install.

我毫不怀疑,但是节点 6.x.x 和 npm 5.x.x 可能是个问题,因为节点 7.x.x 与 5.x.x 兼容。通常 node 6.x.x 与 npm 4.x.x

兼容

我遇到了同样的问题,即使使用 Node v8.6.0npm v5.4.2

解决方法:

npm cache clean --force

&

npm install [package] --force

参考:npm wiki's troubleshooting guide.

非常相似的问题,只有具体的抱怨是 scandir 在新应用程序目标目录中的某个子文件夹 (fsevents) 上失败。我检查并发现有问题的文件夹甚至不存在,因为它是可选依赖项的产物,在 npm install 上被跳过,因为我在 Windows 而不是 Linux.

当 "ng new " 在 Windows PowerShell 下 运行 时,脚本 运行 以这种方式补偿应用构建命令 运行s .在普通命令 window 中 运行 时不起作用。所以在我的例子中,修复只是 运行 "ng new under Windows PowerShell 而不是在 cmd window 中并且安装成功完成 - 最后,在尝试了其他几件事之后。

运行 windows 命令提示符作为管理员。 然后导航 ("cd directoryName") 到您的项目文件夹执行 "npm install".

通常我们假设 "tns run android" 命令也将设置 android 平台,这对我来说失败了两次然后我通过 运行 给定的以下两个命令解决了它顺序:

   tns platform add android
   tns run android

以管理员身份尝试运行命令提示符。为我工作。

通过全局安装 typescript 解决了这个问题。 Angular 编译器要求 TypeScript >=3.1.1 和 <3.3.0 将 package.json 中的版本更改为已安装的版本。 然后做了一个 npm install

    npm install -g typescript
    npm info typescript version
    npm install

这可能是最基本的解决方案,但EPERM错误只能通过授予权限才能解决。

  1. 停用 PC 上的任何anti-virus 软件(直到完成安装)。

  2. 确保 adb.exe 文件(如果有)不在后台 运行。

    为此,打开任务管理器,转到 'Processes' 选项卡并结束 adb.exe 进程。

  3. 通过 运行 命令

    卸载 之前未完成的 expo-cli 安装

    npm uninstall -g expo-cli --save

  4. 现在,安装 expo-cli 应用程序

    npm install -g expo-cli

这对我来说已经成功了。也可能对其他人有用。

干杯!

通常是因为没有权限访问 C:/Users/... 如果您在 C:/Users/.. 文件夹中创建了项目,则需要获得管理权限才能对该文件夹进行更改。 运行 您的代码编辑器作为管理员。 这将允许程序对该文件夹进行更改。

删除节点模块和运行npm cache clean --force

然后运行,

npm install --save

为我工作

我在使用 VS CODE 终端时遇到了同样的问题,您可以打开 cmd,或者 bash 作为管理员或 root 然后 npm install (your package)

针对 ANGULAR 应用程序的特定解决方案

Turn off your angular compiler (ie. ng serve) & again try to install the package

每次都适合我。

我去安装react-rating包的时候遇到了这个问题。我刚从 npm 切换到 yarn 就解决了。

这意味着代替 npm install --save 反应评级 我用了 纱线添加反应评级

如果你在 gatsby.js 中有它。我遇到超时问题。这修复了它,你应该将它添加到 envs:

CONNECTION_TIMEOUT=600000
STALL_RETRY_LIMIT=10
STALL_TIMEOUT=60000
GATSBY_CONCURRENT_DOWNLOAD=1

我遇到了同样的问题。我删除了 package-lock.json 并再次重新运行 npm install。问题已解决。