EPERM,不允许操作错误,配置存储
Posted
技术标签:
【中文标题】EPERM,不允许操作错误,配置存储【英文标题】:EPERM, operation not permitted error, config store 【发布时间】:2013-06-04 01:12:54 【问题描述】:我知道这是node
的常见错误,但我所有的故障排除技术似乎都失败了。
尝试运行像 bower
和 yo
(Yeoman) 这样的包命令时会出现此问题。为了我的理智,在执行这些命令时,我在以管理员身份运行的 Node.js 命令提示符中。
例如,这里是使用yo
运行的输出:
Error: EPERM, operation not permitted 'C:\Users\me\.config\configstore\insight-yo.yml'
at Object.fs.openSync (fs.js:427:18)
at Object.fs.writeFileSync (fs.js:966:15)
at Object.create.all.set (C:\Users\me\AppData\Roaming\npm\node_modules\yo\node_modules\insight\node_modules\configstore\configstore.js:39:7)
at Object.Configstore (C:\Users\me\AppData\Roaming\npm\node_modules\yo\node_modules\insight\node_modules\configstore\configstore.js:30:11)
at new Insight (C:\Users\me\AppData\Roaming\npm\node_modules\yo\node_modules\insight\lib\insight.js:20:16)
at Object.<anonymous (C:\Users\me\AppData\Roaming\npm\node_modules\yo\bin\yo:25:15)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
基本上,node
进程似乎无法写入此.config
文件夹。
我已尝试以下方法进行故障排除:
全新安装node
和各个软件包(按任何可能的顺序)
为.config
文件夹的所有用户设置写入权限
阅读 npm 存储库中的 Windows 用户说明后重新安装 git
对此问题有任何想法或故障排除技术吗?
谢谢!
【问题讨论】:
【参考方案1】:运行npm cache clean --force
帮助了我。
npm cache clean
本身与节点 5+ 会发出此警告:
npm 错误!从 npm@5 开始,npm 缓存可以从损坏问题中自我修复,并且保证从缓存中提取的数据是有效的。如果您想确保一切一致,请改用“npm cache verify”。 npm 错误! npm 错误!如果您确定要删除整个缓存,请使用 --force 重新运行此命令。
NPM cache documentation.
注意:我真正的问题是 package-lock.json 文件。我在本地做了一些事情,并认为它们已被删除,但到了构建代理并得到了这个错误。删除 node_modules 文件夹并重新创建 npm install
可能会有所帮助。
【讨论】:
【参考方案2】:在 Windows 上运行 Yeoman 生成器时出现此错误。 McAfee 实时扫描阻止了文件系统更改。将实时扫描设置为“仅限程序和文档”对我有用。
【讨论】:
【参考方案3】:只需将“所有用户”的 Windows 权限更改为“configstore”目录,bower 就会正确安装包
【讨论】:
【参考方案4】:对我来说有三个文件 在 C:\Users\myusername\.config\configstore
(bower-github.yml、insight-bower.json、update-notifier-bower.yml)删除了所有三个
还禁用了防病毒软件。
注意:不要忘记显示隐藏文件。
【讨论】:
【参考方案5】:我通过删除C:\Users\<your username>\.config\configstore\insight-bower.yml
处的文件解决了这个问题,bower 将在运行时重新创建它。
【讨论】:
帮我删除bower-github.yml
如果是.json
而不是.yml
,也是一样的...删除那个傻瓜
在升级全局/项目/平台级别的cordova 库后,我的cordova-config.json
文件遇到了同样的问题。删除有问题的文件有效!【参考方案6】:
对我来说,使用文件资源管理器导航到该文件会导致出现一个弹出窗口,授予我访问该文件的权限。
之后nodemon
运行没有问题。
【讨论】:
【参考方案7】:删除导致问题的 configstore 中的 .yml 文件对我有用。在我的情况下,它是“update-notifier-bower.yml”,在你的情况下,它可能是“insight-yo.yml”。
重新安装 bower (npm -g install bower) 后文件重新出现,但这次没有造成任何伤害。
同样是reported,停用杀毒软件解决了这个问题。
【讨论】:
以上是关于EPERM,不允许操作错误,配置存储的主要内容,如果未能解决你的问题,请参考以下文章
错误:EPERM:不允许操作,错误时统计“D:\System Volume Information”(本机)