安装emsdk遇TLSV1_ALERT_PROTOCOL_VERSION错误,求解决方法
解决emsdk安装时TLSV1_ALERT_PROTOCOL_VERSION错误的方案
我之前也碰到过一模一样的问题,根源是GitHub已经彻底停用了TLS 1.0/1.1这类旧协议,而你当前使用的emsdk版本大概率太旧,它的下载工具默认还在使用过时的TLS版本——哪怕你升级了Python3和OpenSSL,emsdk内部的逻辑可能没用到新的配置。试试下面这几个逐步排查的方法:
1. 先把emsdk本身更到最新
旧版emsdk的脚本本身就存在协议兼容问题,先执行更新命令拉取最新的emsdk脚本:
./emsdk update
更新完成后再重新尝试安装最新版本:
./emsdk install latest
2. 跳过旧版本,直接指定安装新的Emscripten
如果更新emsdk后还是自动去拉取1.38.0这个旧版本,你可以直接指定一个支持现代TLS协议的新版本(先通过./emsdk list查看当前可用的稳定版):
# 举个例子,安装3.1.40版本,替换成你查到的最新稳定版即可 ./emsdk install 3.1.40
安装完成后记得激活该版本:
./emsdk activate 3.1.40 # Linux/macOS下需要加载环境变量 source ./emsdk_env.sh # Windows下则执行 emsdk_env.bat
3. 强制emsdk使用你升级后的Python3环境
有时候emsdk会默认调用系统里的旧Python(哪怕你装了3.x),你可以手动指定它用你升级后的Python3路径:
- Linux/macOS下,先找到Python3路径:
which python3,然后设置环境变量:
export EMSDK_PYTHON=/usr/bin/python3 # 替换成你实际的Python3路径
- Windows下,找到Python3路径:
where python3,然后设置:
set EMSDK_PYTHON=C:\Python39\python.exe # 替换成你的Python3安装路径
设置完再执行安装命令试试。
4. 检查系统SSL证书(兜底方案)
如果以上都不行,可能是系统的SSL根证书不全,导致无法验证GitHub的SSL证书:
- Linux:安装ca-certificates包,比如Debian/Ubuntu用
sudo apt install ca-certificates,CentOS用sudo yum install ca-certificates - macOS:可以用Homebrew安装新版OpenSSL并配置环境变量,或者打开Keychain Access更新系统根证书
- Windows:重新安装Python3时,务必勾选“Add Python to PATH”和“Install certificates”选项,或者手动更新系统根证书
内容的提问来源于stack exchange,提问作者Jude Maranga
相关产品推荐
相关产品推荐

