wsl已知问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wsl已知问题相关的知识,希望对你有一定的参考价值。
参考技术A npm全局安装报错,无法用npm install -g进行全局安装内存泄漏,wsl2的内存会越用越大,无法回收
跨文件系统的文件访问和传输速度低下(跨文件系统指的是win中的文件(在wsl就是/mnt/下的文件)与wsl中的文件(wsl中非/mnt/下的文件)
热重载只能检测wsl中的文件变化,也就是说如果项目是在/mnt/下的话就无法热重载,保存修改之后必须重新npm run dev
以上问题直至目前为止(20201210)找不到解决方案
我也不知道我一个写前端的到底是哪根筋抽了要去用Linux。。。。
更新:第一个问题貌似有解决方案(https://github.com/Microsoft/WSL/issues/1375里面edjroot的方案):
wsl下运行sudo chown -R $(whoami) /mnt/c/Users/edjroot,(edijroot换成自己Windows的用户名),然后再sudo npm install -g
WSL + Docker 文件权限问题
【中文标题】WSL + Docker 文件权限问题【英文标题】:WSL + Docker file permission issues 【发布时间】:2021-12-29 20:08:54 【问题描述】:我在 WSL 环境中使用 docker-compose。目前 Wordpress 在 docker composer 中运行。 Projects 文件夹中的所有文件都位于 www-data 组和用户中,这允许 Wordpress 创建所有内容并上传插件。 但是一旦我想编辑文件,vs-code就会出现文件权限错误。
切换用户和 www-data 组允许 vs-code 编辑文件,但 Wordpress 在上传插件或删除插件/文件时出现权限错误。
wsl.conf 看起来像这样:
# Enable extra metadata options by default
[automount]
enabled = true
root = /windir/
options = "metadata,umask=22,fmask=11"
mountFsTab = false
# Enable DNS – even though these are turned on by default, we'll specify
here just to be explicit.
[network]
generateHosts = true
generateResolvConf = true
在 Ubuntu-20.04 中使用 Win 11 - 内核:5.10.60.1 和最新的 docker 版本。
编辑:
不过,当我想在 Wordpress 中编辑内容、上传媒体或上传插件时,我需要 sudo chown -R www-data *
,如果我想在 VScode 中编辑文件,我需要 sudo chown -R <username> *
【问题讨论】:
【参考方案1】:我在本地 WordPress 开发设置中遇到了类似的问题。 (Windows 10 + WSL2),这里是 git repo 的链接: https://github.com/dorumarginean/wordpress-docker
为了上传图片/插件,我像你提到的那样更新了所有者,为了使用 Visual Studio Code 写入权限,我在我的 docker-compose.yml 中编辑了 PHP 容器。
用户:“1000:1000”
【讨论】:
【参考方案2】:当我遇到类似问题时,我会这样做: 创建一个包含 www-data 和运行编辑器的用户的新组。
现在让我们呼叫您的本地用户myuser
和您的新组mygroup
。
首先你需要创建一个新组
sudo addgroup mygroup
将网络服务器用户和您的用户都添加到这个新组中
sudo adduser myuser mygroup
sudo adduser www-data mygroup
现在将网站目录的所有权授予这个新组。 cd
到你网站的目录,然后
sudo chown -vR :mygroup .
向组授予写入权限
sudo chmod -vR g+w .
检查以确保更改生效,ls -ld
查看文件的所有者和权限,groups myuser www-data
查看两个用户是否确实在 mygroup
。
然后确保重新初始化用户环境,以便更新来自新组的权限
newgrp - mygroup
您可能需要注销并重新登录才能在 GUI 中更新用户环境。
【讨论】:
以上是关于wsl已知问题的主要内容,如果未能解决你的问题,请参考以下文章
WSL2:为啥我必须在重启 PC 后关闭 WSL 才能重启 WSL