错误!代码 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
谁能解释一下这是怎么回事?我尝试过的事情:
- 运行 Git Bash 作为管理员
- 关闭我的防火墙和防病毒保护
- 运行 npm 缓存清理
- 正在手动删除 AppData\Roaming\npm-cache
的比赛
- 正在通过控制面板卸载节点并重新安装
- 授予所有人对 C:\Program 的完全权限 Files\nodejs
- 重新安装了 CLI
- 重新启动了我的电脑(不会受伤吗?)
- 确保 node_modules 文件夹不是只读的
感谢您的宝贵时间!
这可能会有所帮助 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.0
和 npm v5.4.2
。
解决方法:
npm cache clean --force
&
npm install [package] --force
非常相似的问题,只有具体的抱怨是 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错误只能通过授予权限才能解决。
停用 PC 上的任何anti-virus 软件(直到完成安装)。
确保 adb.exe 文件(如果有)不在后台 运行。
为此,打开任务管理器,转到 'Processes' 选项卡并结束 adb.exe 进程。
通过 运行 命令
卸载 之前未完成的 expo-cli 安装
npm uninstall -g expo-cli --save
现在,安装 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。问题已解决。
我正在使用节点 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
谁能解释一下这是怎么回事?我尝试过的事情:
- 运行 Git Bash 作为管理员
- 关闭我的防火墙和防病毒保护
- 运行 npm 缓存清理
- 正在手动删除 AppData\Roaming\npm-cache 的比赛
- 正在通过控制面板卸载节点并重新安装
- 授予所有人对 C:\Program 的完全权限 Files\nodejs
- 重新安装了 CLI
- 重新启动了我的电脑(不会受伤吗?)
- 确保 node_modules 文件夹不是只读的
感谢您的宝贵时间!
这可能会有所帮助 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.0
和 npm v5.4.2
。
解决方法:
npm cache clean --force
&
npm install [package] --force
非常相似的问题,只有具体的抱怨是 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错误只能通过授予权限才能解决。
停用 PC 上的任何anti-virus 软件(直到完成安装)。
确保 adb.exe 文件(如果有)不在后台 运行。
为此,打开任务管理器,转到 'Processes' 选项卡并结束 adb.exe 进程。
通过 运行 命令
卸载 之前未完成的 expo-cli 安装npm uninstall -g expo-cli --save
现在,安装 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。问题已解决。