Windows 10防火墙环境下安装Leiningen-win-installer 1.0失败求助
解决Windows 10下Leiningen安装的SSL/TLS安全通道问题
你遇到的这个报错Exception calling "DownloadFile" with "2" argument(s): "The request was aborted: Could not create SSL/TLS secure channel.",在公司防火墙环境下确实很常见——大概率是防火墙限制了旧版TLS协议,或者拦截了GitHub的证书验证流程。下面给你几个针对性的解决步骤:
1. 强制PowerShell启用高版本TLS
公司防火墙通常会禁用不安全的TLS 1.0/1.1,而Leiningen默认安装脚本可能没指定使用高版本协议。先打开PowerShell执行这条命令,强制启用安全的TLS版本:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 -bor [Net.SecurityProtocolType]::Tls13
执行完成后,重新运行Leiningen的安装脚本,看看能否正常下载文件。
2. 手动下载Leiningen核心Jar包(绕过自动下载拦截)
如果上面的方法无效,就直接跳过脚本的自动下载步骤:
- 用浏览器直接下载Leiningen的最新稳定版standalone jar包(浏览器通常已经适配了公司的代理/证书配置)
- 在你的用户目录下创建
C:\Users\<你的用户名>\.lein\self-installs文件夹(如果不存在的话) - 把下载好的jar包放进这个文件夹,确保文件名符合Leiningen的命名规则,比如
leiningen-2.10.0-standalone.jar(版本号对应你下载的版本)
3. 配置Leiningen使用公司代理(若需)
如果公司网络必须通过代理访问外网,还需要给Leiningen配置代理信息:
- 在
C:\Users\<你的用户名>\.lein目录下新建profiles.clj文件 - 打开文件,添加以下内容(替换成你的公司代理地址、端口,有认证需求的话再补充账号密码):
{:user {:proxy-host "你的代理服务器地址" :proxy-port 8080 ;; 代理需要认证的话取消下面两行注释 ;; :proxy-user "你的代理账号" ;; :proxy-pass "你的代理密码"}}
4. 验证安装结果
打开全新的PowerShell窗口,输入lein version,如果能正常输出Leiningen和Clojure的版本信息,就说明配置成功了。
如果还是遇到证书相关问题,可以尝试把GitHub的根证书导入Windows受信任证书库:
- 用浏览器打开GitHub,点击地址栏的锁图标,查看证书详情
- 导出根证书(选择Base64编码的X.509格式)
- 打开Windows的「管理用户证书」,把导出的证书导入到「受信任的根证书颁发机构」目录中
内容的提问来源于stack exchange,提问作者אלינור חיון




