Windows에서 Ubuntu(WSL)를 실행하면 Bun을 설치하려고 할 때 SystemOutdated 오류가 발생합니다.

Windows에서 Ubuntu(WSL)를 실행하면 Bun을 설치하려고 할 때 SystemOutdated 오류가 발생합니다.

설치하려고 합니다bun https://bun.sh/내 Windows 컴퓨터에서 WSL에서 Ubuntu 20.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아무것도 하지 않았다. 이 문제를 해결하는 방법을 아는 사람이 있나요?

답변1

bunWSL1/Ubuntu 20.04에서 실행하려고 하면 이 문제를 재현할 수 있습니다. 그러나 WSL2는 적어도 이 명령에 대해서는 잘 작동합니다.

를 실행하여 버전을 확인하세요 wsl.exe -l -v.

WSL1은 실제 Linux 커널을 제공하지 않지만 Linux와 Windows API 간의 시스템 호출 변환 계층 역할을 하는 의사 커널을 제공합니다. 이는 정말 인상적이지만 100% 구현에는 아직 갈 길이 멀습니다. 이것내가 마지막으로 본 보고서LTP 테스트의 약 73%가 WSL1을 통과한 것으로 나타났습니다.

낮은 수준으로 들릴 수도 있지만 이러한 API는 기능의 99% 이상을 제공하는 것으로 보입니다.가장 일반적인 개발 도구 및 언어그 다음에.

그러나 Bun과 같은 (분명히) 극도로 최적화된 새로운 런타임이 WSL1에서 구현되지 않은 기능에 의존할 수 있다는 것은 놀라운 일이 아닙니다. Windows와 Linux 아키텍처가 매우 다르기 때문에 네트워크 스택은 확실히 WSL1과 Linux 커널이 다른 큰 영역입니다. 우리가 본 오류는 문제가 이 영역에 있음을 분명히 나타냅니다.

시스템에서 WSL2를 실행할 수 있는 경우 WSL2 인스턴스에서 Bun을 실행해야 합니다. 원하는 경우(WSL1에는 몇 가지 장점이 있음) 기존 WSL1 Ubuntu를 다른 목적으로 유지하거나 완전히 변환할 수 있습니다.

바라보다이 답변무엇보다도 기존 배포를 백업하고 복제하는 방법에 대해 자세히 알아보세요. 이 --import단계를 수행할 때 를 지정하십시오 --version 2.

또는 (선택적) 백업 후에 wsl --set-version <distro_name> 2.

관련 정보