npm ERR! 代码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\_logs\2017-08-08T00_56_ 59_442Z-debug.log
任何人都可以解释这里发生了什么? 我试过的东西:
- 以pipe理员身份运行Git Bash
- closures我的防火墙和防病毒保护
- 运行npmcaching清理
- 手动删除AppData \ Roaming \ npm-cache的比赛
- 通过控制面板卸载节点并重新安装
- 给每个人完整的权限C:\ Program Files \ nodejs
- 重新安装CLI
- 重新启动我的电脑(不能伤害?)
- 确保node_modules文件夹不是只读的
感谢您的时间!
您是否使用任何私人或公司的registry。 检查你的.npmrc
文件并确保它可用。
如果您在公司环境中,请确保代理不是问题。
检查你的文件夹是否生成了package-lock.json。 你可以删除重新安装。
我毫不怀疑,但节点6.xx与npm 5.xx可能是一个问题,因为节点7.xx与5.xx兼容。通常节点6.xx与npm 4.xx兼容
运行Visual Studio代码时出现此错误,因为打字稿编译器监视文件并将其locking(请参阅https://github.com/Microsoft/vscode/issues/28593 )。 解决scheme是在处理NPM时暂时closuresVS Code。 也许你有东西看文件?
这可能有助于https://alastaircrabtree.com/fixing-intermittant-eperm-operation-not-permitted-on-npm-install/
也可以尝试使用不同的node
版本,在Windows上升级/切换node
的最佳方式是使用nvm-windows,这样可以在开发机器上安装多个可以切换的节点版本。
更新0:
当你处理这样的问题时,你必须确保没有任何东西像你的代码编辑器那样locking我们的node_modules
文件夹(例如VS Code等),或者你可能正在另一个控制台窗口中运行npm start
等
更新1:
如果仍然遇到问题,请尝试从系统中卸载节点和npm 。 然后重新启动您的机器并再次安装节点和npm。
然而
这是接缝,这是常见的问题,通过查看NPM问题过滤npm ERR! code EPERM
npm ERR! code EPERM
。 如果你浏览一些这些问题,你会看到一些人说切换节点版本实际上是帮助的(刚才我刚才说的),所以你需要使用nvm-windows来查看哪些节点版本最适合你。
一旦你安装了nvm-windows,你可以这样做:
-
nvm list
– 显示您可以切换到的所有本地节点版本 -
nvm list available
– 显示您可以在本地安装的所有实际节点版本 -
nvm install <version number>
– 安装(下载+安装)一个特定的节点版本 -
nvm use <version number>
切换到特定的节点版本 -
nvm help
– 会给你帮助
如果你从npm的主要版本跳转,那么你使用以前的节点版本安装的一些软件包可能不再工作,所以你必须重新安装它们
我遇到同样的问题,即使使用Node v8.6.0
和npm v5.4.2
。
解决:
npm cache clean --force
&
npm install [package] --force
参考: npm wiki的故障排除指南 。
问题是您的操作系统的节点版本不正确。 它试图获取Windows上不存在的lstat(一个POSIX系统调用)。
目前我没有install the correct npm
以外的解决scheme
希望这对你有帮助!
https://linux.die.net/man/2/lstat
编辑如果你找不到修复,我会build议你去Github发行页面。
- 为什么angular2需要node.js
- 运行命令后npm install -g @angular \ cli我收到一个npm ERR! 代码ENOLOCAL
- 在Windows上量angular器webdriver不会执行任何testing,但说,所有的传递
- 用于angular度2/4项目的自定义日志文件
- 通过Observable从angular度发送POST请求到nodejs
- 如何将Nightmarejs导入到angular-cli组件中
- 读取angular2中的静态文件为string
- $ q.allPromises返回一个数组,但我只想要一个元素,而不是全部
- 错误TS7027:在Angular2 TypeScript Service类中检测到无法访问的代码