【问题标题】:VS Code - Error: EPERM: operation not permittedVS 代码 - 错误:EPERM:不允许操作
【发布时间】:2020-03-01 14:05:21
【问题描述】:

在 Windows 10 中使用 VS 代码时,我遇到了很多权限问题。

  1. 尝试移动文件夹时:
    • 错误:EPERM:不允许操作,重命名“路径 a”->“路径 b”
  2. 删除文件夹时:
    • 它静默失败,该文件夹已从解决方案资源管理器中删除,但仍保留在磁盘上。

无论有没有管理员权限,它都不起作用。

我去了包含我所有回购的文件夹,将所有权设置为我,对所有经过身份验证的用户应用完全控制,但它仍然不起作用。

有什么想法吗?

编辑:有时它确实有效,这就是让它非常奇怪的原因

【问题讨论】:

  • 您找到解决方案了吗?我也面临同样的问题
  • 很遗憾,不,它仍然经常发生:/

标签: windows visual-studio-code file-permissions


【解决方案1】:

我在 React Native 开发时也遇到了这个错误,这是因为应用程序正在运行并不断监听代码的变化。终止 Metro 有效。

【讨论】:

    【解决方案2】:

    我在带有 Angular 的 VSCode 中遇到了同样的问题。我正在尝试重命名组件文件夹。

    我的解决方案是从 folder_to_rename/dist/ 文件夹中删除已编译的 Angular (.js) 文件。之后,我可以毫无问题地重命名父文件夹。

    【讨论】:

      【解决方案3】:

      只是添加到这个答案墙,这显然是一个非常依赖于上下文的问题,我最初认为这与 vscode 或我的 windows 权限有关,但实际上这是我的删除脚本的问题。

      最初我的脚本是这样的:

        fs.readdir("./content/products", (err, files) => {
          if (err) console.log(err);
          else {
            files.forEach((file) => {
              console.log(`Deleting: ${file}`);
              fs.unlink(`content/products//${file}`, (err) => {
                if (err) throw err;
              });
            });
          }
        });
      

      这在我这个项目的大部分时间里都有效......直到我决定在products 目录中创建子文件夹,此时节点试图取消链接目录并引发了这个错误。即使在重新启动我的电脑后也无法弄清楚为什么会发生这种情况:/

      我将删除脚本更改为

       try {
          await fs.emptyDir("content/products");
        } catch (err) {
          console.error(err);
        }
      

      它现在可以工作了:)

      【讨论】:

        【解决方案4】:

        我也有这个问题。就我而言,原因似乎是“Angular Language Service”扩展。

        我在扩展窗格中删除了它,并且能够立即重命名文件。

        不幸的是,启用 Angular 语言服务器后问题仍然存在。

        【讨论】:

          【解决方案5】:

          对我有用的解决方案是以管理员身份打开 Vscode。

          【讨论】:

            【解决方案6】:

            我在运行Live Server extension 的实时服务器时遇到了Error: EPERM: operation not permitted, rename。停止实时服务器后,重命名操作再次成为可能。

            【讨论】:

            • 非常感谢先生。它帮助了我。
            【解决方案7】:

            只需关闭 vscode 并在文件资源管理器中执行任何文件操作。我仍然使用这种方式重命名我的文件,也许这是一个未解决的错误。

            【讨论】:

              【解决方案8】:

              我在做一个 React 项目时遇到了同样的问题。起初,我以为我需要授予管理员权限,但这也没有用。后来我发现我的项目托管在我的localHost上。因此,如果您的项目正在运行,我们无法更改文件夹结构。您需要在更新文件夹结构之前退出服务器。

              解决方案:退出本地主机服务器并重试(对于 React 和 Angular 用户)。您也可以尝试重启 VScode。

              【讨论】:

                【解决方案9】:

                虽然听起来很傻,但当文件的“只读”标志因任何原因设置时也会发生此错误;就我而言,它是将整个 VSCode 文件夹从只读主机共享复制到 VM。如果文件是只读的,VSCode 无法更改它,您是否拥有完整的管理员权限并不重要。对于打开的文件,您可以使用 SysInternals 的 Process Explorer 工具来找出哪个进程具有特定路径或文件的打开句柄。

                【讨论】:

                  【解决方案10】:

                  如果您使用 Jest VSCode 扩展并且测试文件位于您尝试重命名的文件夹中,则在不禁用 Jest 运行程序的情况下它可能无法工作。

                  【讨论】:

                    【解决方案11】:

                    在我的例子中,它是一个嵌套文件夹。允许手动创建顶级文件夹并移动其内容...(导入仍会自动更新)

                    【讨论】:

                      【解决方案12】:

                      如果您正在开发 Firebase 应用并且之前运行过其 Firebase 模拟器,则可能会发生这种情况,因为当您按 Ctrl+C 时,他们的模拟器可能会 not completely shutdown。也没有人提到可以在windows 任务管理器中结束哪个后台进程。

                      简而言之,当这个问题发生时,一定是某种 CLIExtension 占用了资源。

                      解决方案:重新启动电脑并再次尝试重命名或删除您的文件夹,它应该可以工作。

                      【讨论】:

                        【解决方案13】:

                        我在 VS Code 中重命名或移动文件时遇到错误消息。 然后我注意到它在 Windows 资源管理器中是一样的。

                        我使用 Angular-CLI 在 Angular 中进行开发,并在 cmd 中执行命令 ng build --watch

                        当我停止 watch 命令时,问题就解决了,我可以在 VS Code 中重命名和移动文件而没有任何问题。

                        所以我认为有些进程会保存您的文件。 我希望这会有所帮助。

                        【讨论】:

                        • 这里相同,通过重启 VS Code 修复
                        • 太棒了!这发生在我的 React 上。我需要做的就是在重命名文件夹时停止服务器运行,然后它就可以工作了。
                        • 这里一样,通过停止 wathing 过程解决,我正在使用 nodemon
                        猜你喜欢
                        • 1970-01-01
                        • 1970-01-01
                        • 2021-01-14
                        • 2021-11-18
                        • 2017-04-28
                        • 2022-10-18
                        • 1970-01-01
                        • 1970-01-01
                        • 2018-06-07
                        相关资源
                        最近更新 更多