Luc*_*eco 16 laravel docker visual-studio-code windows-subsystem-for-linux wsl-2
我正在尝试让 WSL2 为我的 Web 项目开发工作,这让我发疯了!
基本上,我有两个选择。1. 将我的项目文件保存到 c 驱动器并使用 WSL 访问那些文件(这使得响应非常慢) 2. 将我的项目文件保存到 /home/ 这使项目运行非常流畅,但我无法编辑这些文件VS代码。
错误如下:
Failed to save 'DefaultSeeder.php': Unable to write file 'vscode-remote://wsl+ubuntu-20.04/home/lucas/Projetos/API/src/database/seeds/DefaultSeeder.php' (NoPermissions (FileSystemError): Error: EACCES: permission denied, open '/home/lucas/Projetos/API/src/database/seeds/DefaultSeeder.php')
Run Code Online (Sandbox Code Playgroud)
小智 20
这是为您的用户提供写入文件的足够权限的另一个命令:
sudo chown -R myuser /path/to/folder
Run Code Online (Sandbox Code Playgroud)
来自https://github.com/microsoft/vscode-remote-release/issues/1008
ali*_*aen 20
这为我解决了这个问题
sudo find /home/ -type d -user root -exec sudo chown -R $USER: {} \;
Run Code Online (Sandbox Code Playgroud)
Luc*_*eco 13
好吧,事实证明我很愚蠢并发布了一个愚蠢的问题。
在试图让这该死的东西工作几个小时后,我能够通过将文件夹的所有权设置为我的用户来做到这一点。
这是将所有权更改为当前登录用户的 shell 片段:
$ sudo find /~~folder-path~~/ -type d -user root -exec sudo chown -R $USER: {} +~
Run Code Online (Sandbox Code Playgroud)
就我而言,我也无法通过文件资源管理器直接编辑/删除任何文件,而不仅仅是 VSCode。
在 Windows 上打开 Ubuntu 22.04.1 LTS 后,运行
sudo chown -R my_username my_folder
Run Code Online (Sandbox Code Playgroud)
注意这my_username是Ubuntu中的用户名。
这解决了我的问题。
我遇到了同样的问题,花了几个小时才找到这个可行的解决方案。
对我来说,这似乎是正确的,因为它不会产生以下问题:1. 随后发送到 git 的文件权限过于慷慨,2. 更改 ubuntu 配置以适应 Windows 环境(与 Windows 用户耦合)。
我在github上找到了这个解决方案的来源。感谢萨尔扎乌尔! https://github.com/microsoft/WSL/issues/4260#issuecomment-729594527
解决问题的步骤:
cd /etc
Run Code Online (Sandbox Code Playgroud)
sudo touch wsl.conf
Run Code Online (Sandbox Code Playgroud)
sudo nano wsl.conf
Run Code Online (Sandbox Code Playgroud)
下次启动 ubuntu 时,将应用 wsl.conf 中的设置。
本例中的重要部分是以下行:
options = "metadata,umask=22,fmask=11"
Run Code Online (Sandbox Code Playgroud)
它设置所有新创建的文件将使用 umask 22 (chmod 775) 和 fmask 11 (chmod 644)
此设置也适用于 VSCode 和 PHPStorm 等 IDE。
快乐编码 - 终于!^^
| 归档时间: |
|
| 查看次数: |
11973 次 |
| 最近记录: |