You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境下emsdk安装失败:SSL证书验证错误求助

问题根源
  • Windows 10虚拟机根证书缺失:全新安装的Win10系统可能未同步更新Google Storage服务依赖的根CA证书,导致Python无法验证HTTPS链接的合法性;而Linux Mint默认根证书库更完整或已自动更新,因此不受影响。
  • Python SSL证书配置不匹配:Python 3.10+在Windows上默认调用系统根证书,即使安装certifi,若emsdk.py未指定使用certifi的独立证书库,仍会因系统证书缺失失败。
  • 网络隐形SSL拦截:存在透明代理或企业级SSL拦截设备时,会替换HTTPS证书,而Windows虚拟机未导入该代理的根证书,引发验证失败;Linux Mint可能因证书策略兼容或预装相关证书,可正常通过验证。
正规解决办法

办法一:更新Windows系统根证书

  • 打开「控制面板」→「Internet选项」→「内容」→「证书」→「受信任的根证书颁发机构」
  • 点击「导入」,按向导导入Google Trust Services的根证书(可从正常工作的Linux机器导出,或通过Windows Update同步)
  • 也可在cmd执行命令强制同步:
    certutil -syncWithWU
    
    执行完成后重启cmd,再运行emsdk安装命令。

办法二:让emsdk.py调用certifi证书库

  • 编辑emsdk.py文件,找到download_file函数,在urllib.request.urlopen调用前添加certifi相关配置:
    import certifi
    # 替换原urlopen调用为:
    response = urllib.request.urlopen(req, cafile=certifi.where())
    
  • 保存修改后,重新运行emsdk install latest。

办法三:配置Python全局使用certifi证书

  • 找到Python安装目录下Lib\site-packages\certifi\cacert.pem的路径(如C:\Python311\Lib\site-packages\certifi\cacert.pem)
  • 在cmd中执行环境变量配置命令:
    setx SSL_CERT_FILE "C:\Python311\Lib\site-packages\certifi\cacert.pem"
    
  • 重启cmd后,再次运行emsdk安装命令。

办法四:离线安装emsdk

  • 在正常联网的Linux机器上运行emsdk install latest --show-urls,获取所有需要下载的安装包链接
  • 手动下载这些包到Windows虚拟机的emsdk目录下的cache文件夹
  • 执行离线安装命令:
    emsdk install latest --no-download
    

内容的提问来源于stack exchange,提问作者fgrieu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 04:02:24