wsl2运行github命令报错 GnuTLS recv error (-110)

GitHub连接与认证报错原因及解决办法

1.  Failed to connect to github.com port 443: Connection timed out 

或者  GnuTLS recv error (-110): The TLS connection was non-properly terminated.

错误原因:代理问题,确保没有设置vpn代理

git config --global --unset http.proxy
git config --global --unset https.proxy

2. 报错: 

remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/*.git/'

错误原因:git config使用了密码登录,或者令牌过期

https://github.com/settings/tokens中申请新的令牌,并在.git/config中设置为新的token

最后:

发现还是不行,换成ssh登录了

https://blog.youkuaiyun.com/xl_1851252/article/details/81274721

WSL ssh连接github - 知乎

<think>首先,用户的问题是关于解决在Windows 10上执行WSL命令时出现的错误:"--list -o命令行选项无效" 和 "--update命令行选项无效"。根据系统级指令,我需要使用中文回答,结构清晰,逐步解决问题,并确保回答真实可靠。 用户提供了几个引用: - 引用[1]: 建议运行命令启用WSL功能:`dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux`。 - 引用[2]: 提到设置WSL发行版为WSL2命令:`wsl --set-version CentOS_A 2`。 - 引用[3]: 提到启用Linux子系统的设置。 - 引用[4]: 关于设置代理的命令。 用户的问题集中在WSL命令无效的错误上。我需要综合这些引用来解决核心问题。 关键错误消息: - "--list -o命令行选项无效":这可能指的是`wsl --list -o`命令无效。 - "--update命令行选项无效":这可能指的是`wsl --update`命令无效。 这些错误通常发生在WSL版本不兼容或未正确安装时。我需要提供逐步的解决方案。 步骤1: 确保WSL已启用。 - 根据引用[1],运行命令启用WSL功能: ``` dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart ``` 这应该在管理员权限的命令提示符或PowerShell中运行。 步骤2: 确保WSL2已启用。 - 引用[2]提到设置WSL版本到2WSL2是较新的版本,可能修复了旧问题。 - 首先,启用虚拟机平台: ``` dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart ``` - 然后,重启计算机。 - 之后,设置默认版本为WSL2: ``` wsl --set-default-version 2 ``` 如果特定发行版有问题,可以如引用[2]所示设置:`wsl --set-version <发行版名称> 2`。 步骤3: 更新WSL内核。 - 错误"--update命令行选项无效" 可能表示需要更新WSL- 运行: ``` wsl --update ``` 但如果这个命令本身无效,说明系统可能没有安装必要的更新。 步骤4: 检查Windows版本。 - WSL命令选项如`--list -o` 和 `--update` 可能只在较新的Windows版本中可用。用户需要确保Windows 10是版本1903或更高,最好是2004或更高。 - 建议用户检查Windows更新:设置 > 更新和安全 > Windows更新,安装所有可用更新。 步骤5: 安装WSL内核更新。 - 如果`wsl --update` 无效,可能需要手动安装WSL内核更新包。 - 参考Microsoft文档,下载并安装最新WSL内核:https://aka.ms/wsl2kernel 步骤6: 验证安装。 - 运行`wsl --list --online` 来列出可用的发行版(注意正确选项是`--list --online`,而不是`--list -o`,因为`-o`是简写)。 - 运行`wsl --update` 来更新。 其他潜在问题: - 如果用户有代理设置(如引用[4]),网络问题可能影响更新。但用户的问题是关于命令无效,不是连接问题,所以可能不是主要问题。 - 确保以管理员身份运行命令提示符或PowerShell。 结构化回答: 1. **检查Windows版本**:确保系统是最新的。 2. **启用WSL功能**:运行DISM命令。 3. **启用WSL2**:设置虚拟机平台和默认版本。 4. **更新WSL**:运行更新命令或手动安装。 5. **验证**:测试命令。 最后,根据指令,我需要生成相关问题。这些问题应该基于当前主题,帮助用户深入学习。 相关问题: 1. 如何安装特定的Linux发行版在WSL上? 2. WSL1和WSL2的主要区别是什么? 3. 如何解决WSL中的网络连接问题? 4. 如何配置WSL以使用代理? 5. WSL的常见故障排除方法有哪些? 确保LaTeX格式正确:由于问题不涉及数学,我可能不需要使用LaTeX,但如果提到任何数学表达式,我会用$...$格式。在这个上下文中,可能不需要。 引用标识:在回答中,如果引用提供的引用,需要在末尾添加引用标识。例如,提到启用WSL功能时,添加[^1]。 最终回答结构: - 开头简述问题。 - 逐步解决方案。 - 结尾添加相关问题。</think>### 解决Windows 10 WSL命令报错 "--list -o命令行选项无效" 和 "--update命令行选项无效" 在Windows 10上执行WSL(Windows Subsystem for Linux)命令时,出现"--list -o命令行选项无效"或"--update命令行选项无效"错误,通常是由于WSL功能未完全启用、Windows版本过旧、WSL内核未更新或系统配置问题所致。以下提供逐步解决方案,基于常见故障排除经验和Microsoft官方文档。请确保以**管理员身份**运行命令提示符(CMD)或PowerShell(右键点击图标 > “以管理员身份运行”),以避免权限问题。 #### 步骤1: 检查并更新Windows版本 WSL命令选项(如`--list --online`和`--update`)需要较新的Windows 10版本(至少1903或更高,推荐2004或更新)。如果系统过旧,这些命令可能不被支持。 - **操作**: 1. 打开“设置” > “更新和安全” > “Windows更新”。 2. 点击“检查更新”,安装所有可用更新。 3. 重启计算机。 - **验证**:运行`winver`命令,确认版本号为1903或更高(例如21H1或22H2)。如果版本低于1903,请先完成系统升级。 #### 步骤2: 启用WSL功能 如果WSL未完全启用,核心命令可能无效。引用[1]建议使用DISM命令启用WSL功能[^1]。 - **操作**: 1. 以管理员身份打开CMD或PowerShell。 2. 运行以下命令: ```cmd dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart ``` 此命令启用WSL组件,无需立即重启。 3. 重启计算机以使更改生效。 - **注意**:如果已启用,命令会提示“操作成功完成”。否则,它会修复缺失组件。 #### 步骤3: 启用WSL2并设置默认版本 WSL2是较新版本,修复了WSL1的许多问题(如兼容性和性能)。引用[2]提到使用`wsl --set-version`命令设置WSL2[^2]。首先启用虚拟机平台: - **操作**: 1. 以管理员身份运行CMD或PowerShell。 2. 启用虚拟机平台功能: ```cmd dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart ``` 3. 下载并安装WSL2内核更新包(如果未自动安装):访问 [Microsoft WSL2内核更新页面](https://aka.ms/wsl2kernel),下载并运行安装程序。 4. 设置WSL2为默认版本: ```cmd wsl --set-default-version 2 ``` 5. 重启计算机。 - **验证**:运行`wsl --status`或`wsl --version`,检查输出是否显示“默认版本:2”。如果特定发行版(如Ubuntu)有问题,可运行`wsl --set-version <发行版名称> 2`(例如`wsl --set-version Ubuntu 2`)[^2]。 #### 步骤4: 更新WSL内核 错误"--update命令行选项无效" 表明`wsl --update`命令本身可能不被系统识别。这通常是因为WSL内核未正确安装或需要手动更新。 - **操作**: 1. 确保已连接到互联网(如果使用代理,请参考步骤5)。 2. 运行更新命令: ```cmd wsl --update ``` 如果命令无效,手动下载最新WSL内核: - 访问 [Microsoft WSL内核更新页面](https://catalog.s.download.windowsupdate.com/d/msdownload/update/software/updt/2023/10/wsl_update_x64.msi),下载并安装MSI包。 3. 重启计算机。 - **验证**:运行`wsl --update`后,应显示“正在更新WSL内核”或类似消息。然后测试`wsl --list --online`(注意选项是`--list --online`,不是`--list -o`,因为`-o`是简写形式)。 #### 步骤5: 检查代理设置(可选) 如果您的网络环境使用代理(如公司网络),可能影响WSL更新。引用[4]提到设置代理的命令[^4],但此问题主要针对命令无效而非网络失败。如果更新步骤失败,可尝试: - **操作**: 1. 在CMD或PowerShell中设置代理(替换为您的代理地址): ```cmd netsh winhttp set proxy http://127.0.0.1:8080 ``` 2. 重试`wsl --update`。 3. 更新完成后,重置代理: ```cmd netsh winhttp reset proxy ``` #### 步骤6: 验证和测试 完成以上步骤后,测试命令是否正常工作: 1. 列出可安装的Linux发行版: ```cmd wsl --list --online ``` 应显示列表(如Ubuntu、Debian)。 2. 更新WSL: ```cmd wsl --update ``` 3. 安装发行版(例如Ubuntu): ```cmd wsl --install -d Ubuntu ``` #### 常见问题及备选方案 - **如果错误依旧**:可能系统文件损坏。运行系统文件检查器: ```cmd sfc /scannow ``` 然后重启。 - **参考资源**:更多细节参考Microsoft文档:[WSL安装指南](https://learn.microsoft.com/zh-cn/windows/wsl/install)。 通过以上步骤,大多数用户能解决命令无效问题。如果仍遇困难,提供具体错误截图或系统信息可进一步诊断。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值