我试图在我的windows机器上安装bun https://bun.sh/,并在WSL上使用Ubuntu20.04。
在运行curl https://bun.sh/install | bash并尝试运行命令后,将得到以下错误:
coding@DESKTOP-PO2H28R:~$ bun create app
Fetching package.json... error: Failed to initialize network thread: SystemOutdated.我曾经运行过apt-get update和apt-get update,但没有解决这个问题。我还运行了wsl --update,它什么也不做。有人知道怎么解决这个问题吗?
发布于 2022-07-07 13:52:35
当我试图在WSL1 1/Ubuntu20.04下运行bun时,我可以复制它。但是,WSL2工作正常,至少对于这个命令是这样的。
通过运行wsl.exe -l -v检查您的发行版。
WSL1提供的不是真正的Linux内核,而是充当Linux和Windows之间的syscall转换层的伪内核。这是相当令人印象深刻的,但这是从100%的实现相当一种方式。上次我看到的报告显示,大约73%的LTP测试通过了WSL1。
这听起来可能很低,但那些API似乎为最常用的开发工具和语言提供了99%以上的功能。
但是,像Bun这样的新的、非常优化的运行时可能依赖于在WSL1中没有实现的东西,这一点也就不足为奇了。网络堆栈绝对是WSL1和Linux内核不同的一个大领域,因为Windows和Linux的体系结构是完全不同的。我们所看到的错误明确地表明,问题就在这个领域。
如果您的系统能够运行WSL2,那么您将希望在WSL2实例下运行Bun。您可以保留现有的WSL1 Ubuntu,如果您愿意(WSL1的一些优点)用于其他目的,或者您可以完全转换它。
有关如何备份和克隆现有发行版的一些详细信息,请参阅这个答案 (以及其他部分)。执行--import步骤时,指定--version 2。
或者,在备份(可选)之后,使用wsl --set-version <distro_name> 2。
https://unix.stackexchange.com/questions/708914
复制相似问题