【问题标题】:VS Code: NoPermissions (FileSystemError): Error: EACCES: permission deniedVS代码:NoPermissions(FileSystemError):错误:EACCES:权限被拒绝
【发布时间】:2021-03-05 17:20:51
【问题描述】:
我正在尝试将名为 app.js 的文件保存在名为 js 的文件夹中。
Vs Code 弹出这个:
保存“app.js”失败:无法写入文件“vscode-remote://wsl+ubuntu-18.04/js/app.js”
(NoPermissions (FileSystemError):错误:EACCES:权限被拒绝,mkdir '/js')
我试过了:
sudo chown -R user /mnt/c/Users/myUser/Documents/myFolder/proyectFolder
但我仍然无法保存此文件。
【问题讨论】:
标签:
visual-studio-code
windows-subsystem-for-linux
wsl-2
【解决方案1】:
试试这个,帮我修好了
sudo chown -R username path
示例:
sudo chown -R akito /home/akito/test/
【解决方案2】:
尝试激活轮询:
在我尝试使用 wsl 期间,这对我有用。
【解决方案3】:
TLDR;
如果您使用的是 docker 容器,请避免在容器内创建文件,因为所有者和组权限可能会导致您的编辑器出现问题(在我的情况下为 VS Code)
我正在从 Windows 终端为 Django 项目运行 docker 容器,并使用 VS Code 来编辑我的代码。
这是一个 Linux 文件(因为 Linux 中的所有内容都是一个文件)权限问题,因为文件没有适当的用户和/或组权限而出现。所以 VS Code 试图告诉我们这一点。
我发现的问题只发生在我从 docker 容器中创建文件时。
- 我会跑
docker exec ... bash
- 使用容器 bash 中的
touch /path/to/file 创建新文件
- 然后尝试在 VS Code 上编辑这些文件(比如 urls.py),结果却出现了阻止文件保存的可怕权限错误。
我怀疑,如果您只是在本地(而不是在容器中)运行命令,那么从容器中创建文件会修饰具有不同所有者和组设置的文件,而不是您的系统默认设置。
使用chown -hR 和chgrp -hR 更改文件权限可以解决问题,但为了完全避免错误,我停止在容器内创建文件。
【解决方案4】:
这是一个 Linux 用户权限问题。
你应该使用命令:
sudo chown -R $USER:$USER.