标签: wsl-2

WSL 2 无法连接到 MongoDB

不久前,我正在本地使用 WSL 1 开发一个 Web 应用程序。它在本地与 MongoDB 完美配合,但升级到 WSL 2 后,我根本无法连接。我仍然可以运行反应应用程序。

以下是一些详细信息: 版本:Microsoft Windows [版本 10.0.19041.172] WSL 2:Ubuntu

我如何从 WSL 2 的 Windows 端调用 MongoDB?

mongodb reactjs windows-subsystem-for-linux wsl-2

9
推荐指数
1
解决办法
1万
查看次数

WSL2,无法在 Windows 浏览器上访问本地主机 Nodejs 服务器

我有 Windows 10 和 Linux 子系统 (Ubuntu-20.04),并且我正在使用 WSL2。当我初始化前端项目(vue 项目)并运行npm run serve时,一切正常。正如我所期望的,该应用程序在 localhost:8080 上运行。但是当我为这个应用程序创建后端(使用nodejs、express的新项目)时,我启动了简单的服务器,并且在终端中看起来不错,但是当我想在浏览器中进入 localhost:5000 查看基本的 Hello World 时,页面正在加载一段时间然后说网页本地主机没有发送任何数据。

这是我的 app.ts

import express, { Application, Request, Response, NextFunction } from 'express'
import bodyParser from 'body-parser'
import cors from 'cors'
import 'reflect-metadata'

const app: Application = express()
const port = 5000

app.use(cors)
app.use(bodyParser.json({ limit: '20480kb' }))

app.get('/', (req, res) => {
    res.send('Hello!')
})

const server = app.listen(port, 'localhost', () => console.log(`The server is running on port ${port}.`))
Run Code Online (Sandbox Code Playgroud)

这是我的 package.json 脚本(将 …

node.js express typescript vue.js wsl-2

9
推荐指数
1
解决办法
2万
查看次数

Yocto 构建失败,退出代码为“134”

我正在尝试在 wsl2 上构建 yocto,并且每当我尝试构建时都会遇到此类错误。

\n
ERROR: Task (/home/minwoo/yocto/poky/meta/recipes-core/initscripts/initscripts_1.0.bb:do_install) failed with exit code '134'\nERROR: Task (/home/minwoo/yocto/poky/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb:do_install) failed with exit code '134'\n
Run Code Online (Sandbox Code Playgroud)\n

我在这里附加了更多构建日志行。
\n什么是 134 错误以及如何解决它?

\n
\xe2\x9e\x9c  rpi-build bitbake core-image-minimal\nWARNING: You are running bitbake under WSLv2, this works properly but you should optimize your VHDX file eventually to avoid running out of storage space\nLoading cache: 100% |                                                                                                                                 | ETA:  --:--:--\nLoaded 0 entries from dependency cache.\nParsing recipes: 100% |################################################################################################################################| Time: 0:00:06\nParsing of 806 .bb files complete (0 cached, 806 parsed). 1410 …
Run Code Online (Sandbox Code Playgroud)

yocto wsl-2

9
推荐指数
2
解决办法
8289
查看次数

wsl 2 中的 PATH 变量始终会重置。如何解决这个问题?

在我从无法设置的应用程序中重置 Ubuntu (wsl2) 后,例如,

导出 PATH=$PATH:/usr/local/go/bin

我的意思是它已设置,但在我关闭终端后,所有配置都已重置,我应该

导出 PATH=$PATH: /usr/local/go/bin

同样,即使我完全删除 wls 和 ubuntu 并重新安装,但没有任何变化

ubuntu go windows-10 windows-subsystem-for-linux wsl-2

9
推荐指数
1
解决办法
1万
查看次数

从 WSL 2/Ubuntu sqlcmd 连接到在 Windows 主机上运行的 SQL Server

我有一台运行 Windows 10、WSL 2 的主机。我的访客是 Ubuntu。

我正在尝试sqlcmd连接到在我的主机上运行的 SQL Server,但我不确定在连接中使用什么 IP?

我已经公开/启用了主机 Windows SQL Server 上 SQL 配置管理器的基本所有内容,并且正在使用如下命令来尝试连接:

sqlcmd -S 127.0.0.1 -U sa -P pass
Run Code Online (Sandbox Code Playgroud)

Sqlcmd:错误:适用于 SQL Server 的 Microsoft ODBC 驱动程序 17:登录超时已过期。

sql-server ubuntu windows-subsystem-for-linux wsl-2

8
推荐指数
1
解决办法
9964
查看次数

如何在 Linux 中为 Docker 正确配置 xdebug.client_host?

我正在 Linux (WSL2) 上的 Docker 容器内运行 PHP 服务器。我想将 Xdebug 连接到此进程,但无法找到为此使用的 IP。

在 Windows 和 Mac 上,该xdebug.idekey=host.docker.internal变量会自动映射正确的 IP,但据我所知,这在 Linux 中不可用。

ip show route我尝试过手动输入主机和docker-container 之间的 IP hostname -I,但这些也不起作用(即使它们确实起作用,也只是临时修复)。我的容器也没有docker0网络,一些教程想用它来连接,但我不确定那是什么或如何获得网络。

所以问题是:如何获得正确的 IP 地址并自动在我的配置中设置它(docker-file、docker-compose 或 php.ini 文件)

php linux xdebug docker wsl-2

8
推荐指数
1
解决办法
4261
查看次数

最大虚拟内存区域 vm.max_map_count [65530] 太低,至少增加到 [262144] - 永久解决方案

针对 docker-windows wsl2 的错误:“最大虚拟内存区域 vm.max_map_count [65530] 太低,增加到至少 [262144]”的解决方案是键入以下命令:

wsl -d docker-desktop

sysctl -w vm.max_map_count=262144
Run Code Online (Sandbox Code Playgroud)

问题是我需要在每次系统重新启动后执行它......

为什么每次重启后都会删除该设置?docker-desktop 容器每次都会重新构建吗?

我怎样才能使它永久?

有关 linux 而不是 Windows 10 wsl 上的 Docker for Desktop 的其他类似问题。

elasticsearch docker-desktop wsl-2

8
推荐指数
1
解决办法
2万
查看次数

如何在 WSL2 中设置 D: 的起始目录?

我在 Windows 10 中使用 Ubuntu-20.04 WSL2。

我想D:在打开终端时接近,所以我将其添加到我的工作区中settings.json

"source": "Windows.Terminal.Wsl",
"colorScheme": "Monokai Night",
"startingDirectory": "\\\\wsl$\\Ubuntu-20.04\\mnt\\d" //added this
Run Code Online (Sandbox Code Playgroud)

但它不起作用(此代码将我连接到默认值mnt/c/Users/username)。

所以我也尝试了这个:

"source": "Windows.Terminal.Wsl",
"colorScheme": "Monokai Night",
"startingDirectory": "\\\\wsl$\\Ubuntu-20.04\\mnt" //added this
Run Code Online (Sandbox Code Playgroud)

这是工作。

如何设置起始目录d

linux windows-subsystem-for-linux wsl-2

8
推荐指数
1
解决办法
3308
查看次数

docker-compose 挂载卷上的 WSL 文件权限问题

我正在使用 docker-composeWSL环境中使用 docker-compose 。我注意到正在运行的 docker 容器创建的一些文件显示为 user=root 和 group=root。如何更改 docker-compose 以在当前 UID 和 GID 下创建新文件?

我注意到在WSLbash shell 中,我可以作为普通用户删除 root:root 拥有的文件,而无需 sudo。相反,正在运行的 docker 容器无法删除文件,即使该文件不属于 root。

这些文件位于/mnt/c/projects-new/...或位于 Windows 中c:\projects-new.

/etc/wsl.conf

[network]
generateResolvConf = true
Run Code Online (Sandbox Code Playgroud)

在您提问之前,Linux 权限的元数据定义在/etc/fstab

LABEL=cloudimg-rootfs / ext4 defaults 0 0
C: /mnt/c drvfs defaults,metadata 0 0
Run Code Online (Sandbox Code Playgroud)

我在用着Win 10 20H2 (OS Buidl 19042.928) WSL Version 2

猫 /etc/*release

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.1 LTS"
NAME="Ubuntu"
VERSION="20.04.1 LTS (Focal Fossa)"
ID=ubuntu …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose wsl-2

8
推荐指数
1
解决办法
6271
查看次数

在 WSL2 上运行 Puppeteer 控制 Windows 上的 Chrome

我正在尝试在 WSL2 上运行 puppeteer。我尝试过通过 VcXsvr 使用远程显示,但我的防火墙设置和主机进行了自定义更改,坦率地说我已经放弃看到https://learn.microsoft.com/en-us/windows/wsl/tutorials/gui-应用程序正在开发中。

因此,与此同时,我尝试使用以下测试代码直接连接到 Windows Chrome 安装:

const puppeteer = require('puppeteer');

const EXECUTABLE_PATH = '/mnt/c/Users/[username]/AppData/Local/Google/Chrome/Application/chrome.exe';
const USER_DATA_DIR = 'C:\\Users\\[username]\\AppData\\Local\\Google\\Chrome\\User Data';


const url = process.argv[2];
console.log(url);
if (!url) {
    throw "Please provide URL as a first argument";
}
async function run () {
    try {
        const browser = await puppeteer.launch({
            executablePath: EXECUTABLE_PATH,
            userDataDir: USER_DATA_DIR,  
            headless: false,
            ignoreDefaultArgs: ['--disable-extensions'],

        });
        const page = await browser.newPage();
        await page.goto(url);
        await page.screenshot({path: 'screenshot.png'});
        browser.close();
    } catch(err){
        console.log(err)
    }
}
run(); …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome windows-subsystem-for-linux puppeteer wsl-2

8
推荐指数
1
解决办法
4633
查看次数