EPERM,不允许操作错误,配置存储

Posted

技术标签:

【中文标题】EPERM,不允许操作错误,配置存储【英文标题】:EPERM, operation not permitted error, config store 【发布时间】:2013-06-04 01:12:54 【问题描述】:

我知道这是node 的常见错误,但我所有的故障排除技术似乎都失败了。

Windows 7(32 位) Node@0.10.10 npm@1.2.25

尝试运行像 boweryo (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\&lt;your username&gt;\.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”(本机)

npm 错误!错误:EPERM:不允许操作,重命名

错误:EPERM:Bitbucket 管道中不允许操作

VS 代码 - 错误:EPERM:不允许操作

npm publish 导致'错误:EPERM:不允许操作,取消链接...',errno -4048

Npm 安装错误 EPERM 操作不允许