【问题标题】:VScode unable to save files inside my WSL2 home folderVScode 无法将文件保存在我的 WSL2 主文件夹中
【发布时间】:2020-09-10 09:04:31
【问题描述】:

我正在尝试让 WSL2 为我的 Web 项目开发工作,这让我发疯了!

基本上,我有两个选择。 1.将我的项目文件保存到c盘并使用WSL访问那些(这使得响应非常慢) 2. 将我的项目文件保存到/home/,这使得项目运行超级流畅,但我无法用VSCode编辑这些文件。

错误如下:

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')

【问题讨论】:

    标签: laravel docker visual-studio-code windows-subsystem-for-linux wsl-2


    【解决方案1】:

    好吧,事实证明我很愚蠢并发布了一个愚蠢的问题。

    在尝试让这个该死的东西工作好几个小时后,我能够通过将文件夹的所有权设置给我的用户来做到这一点。

    这是将所有权更改为当前登录用户的shell sn -p:

    $ sudo find /~~folder-path~~/ -type d -user root -exec sudo chown -R $USER: {} +~
    

    【讨论】:

    • @Lucas Pacheco 当我在我的文件夹路径上运行它时,我得到“find: missing argument to '-exec'。在你的 sn-p 末尾是否有我错过的替换?
    • 我得到 .当我尝试进行构建时,访问路径被拒绝你是否也遇到过这个问题。
    • @user2132190 你需要添加一个 \;最后
    【解决方案2】:

    下面是另一个命令,可以为您的用户提供足够的文件写入权限:

    sudo chown -R myuser /path/to/folder
    

    来自https://github.com/microsoft/vscode-remote-release/issues/1008

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题,花了几个小时才找到这个可行的解决方案。
      对我来说,这似乎是正确的,因为它不会产生以下问题:1. 之后发送给 git 的文件权限太宽泛;2. 更改 ubuntu 配置以适应 windows 环境(耦合到 windows 用户)。

      我在 github 上找到了这个解决方案的来源。感谢saltazaur! https://github.com/microsoft/WSL/issues/4260#issuecomment-729594527

      解决问题的步骤:

      • 通过 Windows“程序和功能”重置(或重新安装)Ubuntu 发行版
        注意:如果您的主目录中已有数据,请将其复制到 windows 之前
      • 打开 Ubuntu 并按照初始设置(创建用户)
      • 添加文件“/etc/wsl.conf”:
      cd /etc
      
      sudo touch wsl.conf
      
      sudo nano wsl.conf
      
      • microsoft docs复制并粘贴内容
      • 使用 CTRL+X > "Y" > ENTER 保存
      • 重新启动 wsl(或 windows,确定;))

      ubuntu 下次启动时,会应用wsl.conf 中的设置。

      在这种情况下,重要的部分是以下行:

      options = "metadata,umask=22,fmask=11"
      

      它设置,所有新创建的文件都将使用 umask 22 (chmod 775) 和 fmask 11 (chmod 644)

      此设置也适用于 VSCode 和 PHPStorm 等 IDE。
      快乐的编码 - 终于! ^^

      【讨论】:

        【解决方案4】:

        这帮我解决了

        sudo find /home/ -type d -user root -exec sudo chown -R $USER: {}  \;
        

        【讨论】:

        • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
        猜你喜欢
        • 1970-01-01
        • 2014-03-13
        • 2020-01-01
        • 2020-07-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-17
        • 2021-12-25
        相关资源
        最近更新 更多