7

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

Tried to use insecure HTTP repository without TLS

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

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

4

3 回答 3

4

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

  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并搜索 string http:,它应该指向正确的轨道。

例如使用 Unix 命令行工具:

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

grep http: raw.txt
Downloading from example: http://unsafe.example.org
于 2018-03-10T13:00:35.807 回答
2

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

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

于 2018-01-16T11:09:57.427 回答
0

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

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

来自 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 上有了答案。使用 Leiningen 显示完整的依赖关系树

于 2018-03-09T23:41:42.757 回答