【问题标题】:Leiningen raises "Tried to use insecure HTTP repository without TLS." but for which dependency?Leiningen 提出“试图在没有 TLS 的情况下使用不安全的 HTTP 存储库”。但对于哪个依赖项?
【发布时间】:2018-06-24 09:28:39
【问题描述】:

我正在使用 Leiningen 在我的 Raspberry Pi 3(运行伸展)上运行 Clojure 项目,以前我使用 2.7.1 版没有问题,但升级到 lein (2.8.1) 上的最新版本我现在得到某些依赖项(但不是其他依赖项)的此错误:

Tried to use insecure HTTP repository without TLS

但是,lein 并没有告诉我哪些依赖项导致了问题,那么我如何发现哪些依赖项导致了这个错误?

还可以为某些依赖项禁用此安全功能吗?我只在家庭网络上运行,所以认为这是可以接受的。

【问题讨论】:

标签: clojure leiningen clojars


【解决方案1】:

[注意:这不是我的首选解决方案,但它让我的项目再次运行]。

使用没有如此严格的安全检查的 Leiningen 2.7.1。下载自: https://raw.githubusercontent.com/technomancy/leiningen/2.7.1/bin/lein

【讨论】:

    【解决方案2】:

    很难看出是哪个扩展导致了问题,因为它们也可能包含其他部门。

    您仍然可以下载扩展程序。

    来自 lein 常见问题解答; 这是非常不安全的,并且会使您受到简单执行的中间人攻击。在极少数情况下,您不关心运行项目的机器的安全性,您可以通过将其放在 project.clj 文件的顶部来重新启用对不受保护的存储库的支持:

    ;; allow insecure downloads
    (require 'cemerick.pomegranate.aether)
    (cemerick.pomegranate.aether/register-wagon-factory!
     "http" #(org.apache.maven.wagon.providers.http.HttpWagon.))
    

    对我来说,这适用于几个未更新的旧项目。在日志中,您可以轻松跟踪通过 http 下载了哪个包。

    所以这回答了 OP 的“是否可以禁用安全性”功能问题。

    另一个问题似乎已经在 StackOverflow 上有了答案。 Display complete dependency tree with Leiningen

    【讨论】:

      【解决方案3】:

      在评论正确指出第一种方法仅显示直接依赖项后编辑的答案。

      1. 生成 Maven POM:

        lein pom
        Wrote .../pom.xml
        
      2. 按照 Java https://stackoverflow.com/a/3270067/561422 的这个答案,使用 Maven 依赖插件:

        mvn dependency:purge-local-repository > raw.txt
        

      在编辑器中打开 raw.txt 并搜索字符串 http:,这应该会为您指明正确的方向。

      例如使用 Unix 命令行工具:

      不安全的存储库(搜索http:):

      grep http: raw.txt
      Downloading from example: http://unsafe.example.org
      

      【讨论】:

      • 这仅回答了其中一个问题。 pom.xml 似乎只显示第一行部门。因此,当依赖项依赖于不安全的依赖项时,您将找不到它。
      • @acidjunk 你是对的。我相应地更新了我的答案。
      • raw.txt 的格式无法帮助您确定 project.clj 中列出的哪个顶级依赖项是原因。您可以使用“mvn dependency:tree -Dverbose=true”,它将以类似于以下形式列出缺少的依赖项:“[错误] 无法在项目 lotusflare-funnel 上执行目标:无法解析项目的依赖项无法传输工件 org .clojure:clojure:pom:1.3.0-alpha2 from/to clojure (build.clojure.org/releases):拒绝访问:build.clojure.org/releases/org/clojure/clojure/1.3.0-alpha2/…,ReasonPhrase:Forbidden。” "
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 2012-02-03
      • 2014-12-29
      • 2011-02-18
      • 2019-11-04
      • 1970-01-01
      • 2021-10-29
      相关资源
      最近更新 更多