问题标签 [wsl-2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
731 浏览

windows-subsystem-for-linux - ddev 可以与 WSL(Linux 的 Windows 子系统)一起使用吗?

作为一个在 Windows 机器上工作但喜欢将 Ubuntu 作为工作环境的人,我想在WSL中使用 ddev 。有没有办法做到这一点?

0 投票
1 回答
489 浏览

windows-subsystem-for-linux - 在 WSL 版本 2 中,我在哪里可以找到 Windows 文件夹?

我最近根据说明安装了 WSL 版本 2 。一切都很好。但我注意到该文件夹/mnt/c​​不再可用。

我了解新的 WSLvhdx用作文件系统,它为我们提供了更好的 FS 性能,但我找不到在 Windows 中访问文件的方法。

我也试图检查wsl --help但我找不到任何有用的东西。

有什么建议么?


阅读更多内容后,我注意到 WSL 2 实际上是 Windows 10 上的优化 VM,这意味着正在运行的 WSL 2 不知道自己在哪里。似乎应该有一种方法可以在启动它时传递一些 Windows 文件夹。还没想好怎么办。。。。。。

0 投票
1 回答
1586 浏览

visual-studio-code - vscode-remote-release 和 wsl 2

有没有人已经尝试过vscode-remote-releasewsl 2 的预发布?

启动新的 wsl 服务器时出现以下错误:

0 投票
1 回答
10719 浏览

java - 在 Windows 10 上使用 Intellij IDEA 在 WSL 2 中运行和调试 Java

Intellij IDEA 安装在 Windows 上。使用 maven 构建的 java 应用程序需要本地库(带有 JNI)并在 Ubuntu 上运行。

在 Windows 上使用 maven 和 git 很好。如何让 Intellij IDEA 使用 WSL 中的 JDK,以便创建使用 WSL 的运行/调试配置?

0 投票
2 回答
2041 浏览

docker - 无法连接到 wsl 2 上 debian buster 上的 Docker 守护程序

我正在尝试在 Windows Subsystem for Linux (WSL) 2 上安装 docker(在 Windows Home build 19033.1 上运行)。我按照https://docs.microsoft.com/en-us/windows/wsl/wsl2-install上的说明安装了 wsl2,并从 Windows Store 安装了 debian,即 debian 10(buster)。它在 wsl 2 上运行,如下所示:

wsl -l -v
NAME STATE VERSION
* Debian Running 2

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL=" https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

我按照https://linuxconfig.org/how-to-install-docker-on-debian-10-buster-linux的说明安装 docker:

sudo apt install docker.io
sudo docker run hello-world docker
:无法连接到 unix:///var/run/docker.sock 上的 Docker 守护进程。docker 守护进程是否正在运行?

查看docker是否正在运行:

sudo service docker status
[FAIL] Docker 没有运行……失败了!

所以我尝试重新启动docker守护进程:

$ sudo service docker restart
grep: /etc/fstab: No such file or directory
[ ok ] 启动 Docker: docker.

在 SO 上找到另一篇文章说我可以通过发布来解决这个问题:

须藤触摸 /etc/fstab

这似乎有效(不再出现grep错误):

$ sudo service docker restart
[ ok ] 启动 Docker:docker.

但我仍然遇到同样的问题:

$ sudo docker run hello-world
docker:无法连接到 unix:///var/run/docker.sock 上的 Docker 守护进程。docker 守护进程是否正在运行?

我查看了 docker 日志,里面充满了错误:

有点迷失了这里的问题。希望有人可以建议?


我遵循了下面@sx-tan 的出色建议,他建议遵循https://kind.sigs.k8s.io/docs/user/using-wsl2/#updating-kernel上的说明。这些说明说要发布:

cp不幸的是,这些命令不会产生与该命令所期望的相同的 dir 结构。我没有arch/x86_x64/目录。我确实有一个arch/x86目录,但不包含boot/bzImage

我遵循了确切的说明,因此只能猜测自从编写了https://kind.sigs.k8s.io/docs/user/using-wsl2/#updating-kernel以来,回购已经发生了变化。如果它有帮助,这里是目录arch

仍然希望有人能澄清一下。

0 投票
0 回答
856 浏览

mysql - 使用 ngrok 公开 mysql 并使用 Datagrip (WSL2) 连接

我在我的开发机器上设置了 WSL2。它有一个 mysql 服务器正在运行,如果我从 WSL“VM”中使用 DB 查看器,我可以正确看到 DB 和 Schema,也就是说,如果我从 WSL 打开 mysql cli 甚至 Datagrip/IDEA,它会看到在 localhost:3306 上正确数据库。

我还在 Windows 上安装了 Datagrip,我想用它来连接到 mysql 数据库。由于 WSL2 改变了网络的工作方式,连接到 localhost:3306 不起作用 - 所以我需要将 WSL2 网络桥接到我的 Windows 网络。我找到了几种解决方案,但我已经成功地将 ngrok 用于本地网站。

据说,./ngrok tcp 3306在 ubuntu shell 中运行会在外部公开 WSL2 mysql 实例,并带有特定的 url+port(它给了我)。问题是我似乎无法通过 Datagrip 连接到它,是否需要运行一些特定配置才能使其工作?

例如:

ngrok 告诉我: tcp://0.tcp.ngrok.io:11497 -> localhost:3306

如果我尝试在 Datagrip 中连接到该 url,它会超时。

0 投票
1 回答
735 浏览

c++ - 如何在 WSL 2 中读取物理内存?

如何在 WSL 2 中读取物理内存 (/dev/mem)?(我想从 WSL 读取 Windows RAM) https://shanetully.com/2014/12/translating-virtual-addresses-to-physcial-addresses-in-user-space/ 我尝试了这个人所做的,但是我在那个地址读到的文字。读取函数没有返回-1,但我什么也没读。所以我尝试了如果我什至可以阅读 /dev/mem

似乎访问被拒绝,有什么想法可以实现我想要的吗?

0 投票
1 回答
170 浏览

windows-subsystem-for-linux - wsl2为什么要在这种环境下开发

我了解在您的 Windows 机器上安装 Linux 而不是使用 VM 的原则。

我看过关于在 wsl 中使用 vscode 和 vscode wsl 扩展的文章。

我的问题是我为什么要在 Windows 上使用 vscode 来做这件事。

听起来可能是个愚蠢的问题,我听到有人说我现在可以在我的公司所在的 Linux 上开发 Windows,我只是不明白有什么好处

0 投票
1 回答
2839 浏览

windows - WSL2 的 MongoDB Compass 问题

我在 WSL2 的容器中运行了一个 MongoDB 实例。

当我尝试在浏览器中发出请求时localhost:27017,即使它显示错误,它也可以工作,因为我尝试使用 HTTP 协议访问数据库。

但是,当我尝试使用主机名 localhost 和端口 27017 从 Compass 访问我的数据库时,我在 30000 毫秒后超时,我无法访问它。

有人知道为什么吗?

0 投票
1 回答
374 浏览

windows - 如何从 CMD 执行添加到 WSL2 内的 $PATH 的二进制文件?

在我的 WSL2 环境中,我已adb添加到 Path 环境变量中。我想像这样直接从 Windows CMD 调用它:wsl adb但是我收到以下错误:

zsh:1: command not found: adb

就好像它在运行命令时没有源 ~/.zprofile ,因此没有调整后的 PATH 变量。任何想法如何处理这个?ZSH 是我的 WSL2 环境中的默认 shell adb,在它内部运行就可以了。