问题标签 [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 投票
0 回答
147 浏览

go - 无法使用 WSL2 收听

我从这里复制并粘贴了“hello world”示例

并尝试在安装在 WSL2 上的 Ubuntu 20.04 上运行它。

但是,当我尝试浏览到“http://127.0.0.1:8000”时,服务器无法访问。

为了验证这不是端口阻塞问题,我跑了python -m http.server

并且网页加载正确。

可能是什么问题?

===更新====

出于某种原因,浏览到

http://localhost:8000

有效,在这个线程中提到

0 投票
0 回答
599 浏览

windows - 错误:无法连接到 Docker 守护程序 + WSL2

我有时在我的 WSL2 安装(Windows 2004)上遇到 Docker 问题:

当然我有 unset DOCKER_HOST

然而 Docker 守护进程在 Windows 上运行:

我的 Ubuntu 发行版正在运行 WSL:

在此处输入图像描述

奇怪的是 Docker 说我没有任何 WSL 2 发行版:

在此处输入图像描述

0 投票
1 回答
2927 浏览

docker - 使用在 WSL 2 中运行的 Webpack-dev-server 访问 LAN 上的 localhost

我正在尝试使用外部设备使 webpack-dev-server 在我的本地网络上工作。整个项目在 Windows 10 上的 WSL2 Debian 10 中运行。我还没有在任何地方发现这个特殊问题,所以决定发布这个。

所以该项目是一个在 docker 中运行的 WordPress 站点,webpack-dev-server 将其代理到端口 3000(全部在 WSL 中)。一切都在本地机器上按预期工作:该站点在 localhost:3000 的 Windows 中可用,并且工作正常。

但是,我也想在我的移动设备上访问它。从我在网上找到的内容来看,只要连接到移动设备上的主机 ip(在正确的端口上),只要它在同一个网络上,它就应该可以工作。我的电脑和手机在同一个家庭wifi网络上,所以没关系。

我已经尝试过wsl适配器ipv4和wifi适配器ipv4地址,但据我了解,如果一切都连接到wifi,应该使用无线局域网适配器Wi-Fi吗?因此,使用这些 ip 中的每一个都会导致我的手机(chrome android)出现以下连接错误:

  • wsl 适配器 ip:3000 给出 ERR_CONNECTION_TIMED_OUT,所以可能不是那个
  • wifi 适配器<<wifi-adapter ip>>:3000 给出 ERR_EMPTY_RESPONSE
  • wifi 适配器<<wifi-adapter ip>>(无端口)以某种方式解析为地址栏中的“localhost”并给出 ERR_CONNECTION_REFUSED

我已经尝试过:

  • 添加host: '0.0.0.0'到 webpack 配置。
  • 在 Windows 中使用转发端口 3000netsh interface portproxy add v4tov4 listenport=3000 listenaddress=0.0.0.0 connectport=3000 connectaddress=127.0.0.1
  • 在 Windows 中使用转发端口 3000netsh interface portproxy add v4tov4 listenport=3000 listenaddress=0.0.0.0 connectport=3000 connectaddress=<<wifi-adapter ip>>
  • 禁用 Windows Defender 防火墙
  • 添加public: '<<wifi ip>>:3000'到 webpack 配置。
  • 尝试不同的端口,我尝试了 5040、8000 和 8080。
  • 如果我尝试添加host: '<<wifi-adapter ip>>',webpack 在启动时会抛出一个错误:Error: listen EADDRNOTAVAIL: address not available <<wifi-adapter ip>>:3000,发生在各种不同的端口上。

无论是在主机 PC 上还是在尝试在 LAN 上连接时,每一个都对行为没有明显影响。我发现有关 webpack-dev-server 的问题在 LAN 上无法访问,通常的解决方案是添加host: '0.0.0.0',但是这些问题都没有提到wsl的使用。此外,包括 wsl 的类似问题通常将端口转发和防火墙作为可接受的答案,但在我的情况下,这些似乎都没有影响。我还没有找到包含wsl和webpack的连接问题的问题和解决方案,所以我真的没有想法,因为我不清楚如何解决这个问题,看看问题是否出在windows主机上,wsl ,我的家庭网络还是别的什么?所以也许有人在这里看到了一个明显的配置错误?同样,它在主机 PC 本身上运行良好。任何洞察力都非常受欢迎。

Webpack 配置(仅 devserver 部分):

ipconfig 的输出是:


编辑:

我设法使用修复组合来修复它,但我真的需要所有这些,或者它只是不起作用:

  • 端口转发(如@Luis 脚本,但我使用了这个,其中包括防火墙规则)
  • 有时我想使用的端口由于某种原因在我的系统上被阻止,我需要终止侦听该端口的现有进程。但是端口 3000 只是不想和我一起做任何事情,所以我只使用 8000
  • windows快速启动被禁用,这以在wsl2上搞乱本地主机而闻名
  • 在 Windows 主机文件中手动启用 localhost(从这里获取)
  • 始终使用 0.0.0.0 作为在 wsl2 中运行的任何服务器上的主机

然后我可以通过 Windows 中列出的 ip 访问我的 LAN 网络上的服务器(在我的例子中是 192.168.xx )。我现在使用这个 webpack 配置:

注意:对于 WordPress,我必须添加另一个修复程序,因为从 LAN 访问时没有加载任何样式或脚本,因为 WordPress 在数据库中“硬编码”站点 url,然后在访问时抛出一堆未找到和 cors 错误来自 http://localhost 以外的任何站点。wp_make_link_relative()就像这个简单的插件一样,它通过在 WordPress 本身中使用得到了修复。

0 投票
1 回答
246 浏览

intellij-idea - PhpStorm:Local History 不显示文件内容(空),但显示的是本地历史记录列表

本地历史记录显示为空。

我使用PhpStorm 2020.1.4(但似乎在 2020.1.2 中也是如此)。

主机是Windows 10,项目文件存储在WLS2上(适用于 Linux 的 Windows 子系统,Ubuntu 20.04)

*Git 历史运行完美。

可能的原因是什么以及如何解决?

本地历史窗口截图

0 投票
1 回答
2438 浏览

ubuntu - 我无法在 WSL2 开启的 Windows 10 上使用 npm 命令(ubuntu 终端)

我试图让 npm 命令工作,但它不想。正如我在标题中所说,我使用的是 Windows WSL2。很久以前我已经用 Git Bash 安装了 nodejs,但现在我需要它在我的 ubuntu 终端上工作。我该如何解决这个问题?

我的 ubuntu 终端:

0 投票
1 回答
2894 浏览

angular - wsl2 中的 Angular-CLI 比默认的 powershell 慢得多是正常的吗?

在我最近的项目中,我使用 Angular 和 Angular-CLI,我注意到在 wsl2 终端(使用 ubuntu 20.04)中基本的 CLI 命令(如ng g cng serveng build)比在默认的 powershell 上花费更多的时间。

任何意见或建议如何解决这个问题?

0 投票
1 回答
1952 浏览

windows-subsystem-for-linux - 在 WSL2 中安装 v4l2loopback

我目前正在努力v4l2loopback在 WSL2 上进行安装。

一些上下文:

最近,我读到了关于在 Linux 中创建一个虚拟视频设备,然后从图像或视频文件模拟它的输出。

这对于测试或开发目的非常重要,例如,为了附加一个虚拟网络摄像头,将视频文件作为循环复制到 android 模拟器。

经过一些研究,我得出的结论是我不想使用桌面应用程序,即使在 CI 或类似的环境中运行它也可能很容易,因此v4l2loopback看起来不错,但我目前是 Windows 用户。

我在我的机器上启用了 WSL2,下载了 repo,并尝试执行makerepo 描述中的命令。

我用谷歌搜索了一下,我在 GitHub 上发现了这个问题,其中提到了类似的输出(对于另一个工具)。在那里,有人提到可以调整WSL2 内核配置以添加更多模块(也许并希望其中一个可以使 v4l2-loopback 工作,或者至少我认为)。

我还用谷歌搜索了自定义 WSL 构建,但我不确定我需要什么才能让它工作,或者即使我朝着正确的方向前进。

为了v4l2loopback工作,我错过了什么吗?

如果只有自定义 WSL2 构建可以工作,我应该如何进行?

提前致谢

0 投票
1 回答
1274 浏览

node.js - 在 WSL2 中运行的 Docker 容器中运行 headful Puppeteer

所以我有一台运行 VcXsrv 的 Windows 10 机器。我已经安装了 WSL2,在我的 WSL2 环境中,我可以在 Headful 模式下运行我的 Node.js Puppeteer 应用程序而不会出现问题。

这里的问题是我现在想在 WSL2 上运行的 Docker 容器中运行应用程序,而不是直接在 WSL2 中运行。我已经设置了一个 docker 容器,并且该应用程序在无头模式下工作,但我不知道如何配置 Docker 容器以连接到在 Windows 主机上运行的 X 服务器。

连接必须从 Docker 到 WSL2,然后到 Windows。

puppeteer 抛出的错误非常通用:

我在 docker 容器内设置了 DISPLAY 环境变量,使其具有与我的 WSL2 环境相同的值:

当直接在 WSL2 中运行应用程序时,此相同的值有效

0 投票
1 回答
803 浏览

angular - ng 命令需要很长时间才能启动

我遇到了 Angular 的问题:每次我输入命令(ng --version,ng serve等)时,命令都需要很长时间才能启动。

比如ng serve启动需要1分5秒,编译只需要10秒,ng --version大约需要15秒。如果我使用命令time ng server(不存在),输出如下:

这些是我电脑的统计数据

我正在研究 WSL2、Ubuntu 20.04(安装在辅助磁盘、HDD 上,而不是 SSD 上)。我以前在 Windows 上安装了 npm,但在子系统上安装 npm 后我将其删除。

我在 github 上找到了这个 ISSUE,https://github.com/angular/angular-cli/issues/3484但它没有多大帮助。

npm --version: 6.14.4

nodejs --version: v10.19.0

0 投票
1 回答
3449 浏览

docker - 在用于 Jupyter 的 WSL2 上与 docker 共享 Windows 文件夹

我目前尝试使用 docker 使用 WSL2 设置我的数据科学环境。所以我的目标是将所有内容存储在 Windows 上,使用 Windows Docker Desktop 在 WSL2 上的容器中运行 Jupyter。因此,我尝试在我的 docker 容器中安装 c 驱动器,并在 Powershell(不是 Linux shell)上执行以下代码:

它只绑定一个新的工作目录,而不是我的 Windows 驱动器。我真的很感激任何帮助!

谢谢!