程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Clojure 找不到依赖项大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Clojure 找不到依赖项?

开发过程中遇到Clojure 找不到依赖项的问题如何解决?下面主要结合日常开发的经验,给出你关于Clojure 找不到依赖项的解决方法建议,希望对你解决Clojure 找不到依赖项有所启发或帮助;

我在使用 Clojure 时遇到了问题。我想安装尼安德特人,但每次尝试编译我的程序时都会出现此错误。

; Syntax error compiling at (uncomplicate\neanderthal\native.clj:1:1).
; No namespace: uncomplicate.neanderthal.internal.host.mkl

我程序的第一行

(ns learning.core
  (:gen-class)
  (:use [uncomplicate.neanderthal core native]))

编辑: 附加信息

项目代码

(defproject learning "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "EPL-2.0 OR GPL-2.0-or-later WITH Classpath-exception-2.0"
            :url "https://www.eclipse.org/legal/epl-2.0/"}
  :dependencIEs [[org.clojure/clojure "1.10.1"]
                 [uncomplicate/neanderthal "0.40.0"]
                 [clj-http "2.0.0"]]

  :main ^:skip-aot learning.core
  :target-path "target/%s"
  :profiles {:uberjar {:aot :all
                       :jvm-opts ["-Dclojure.compiler.direct-linking=true"]}})

deps.end

{:deps
 {uncomplicate/neanderthal {:mvn/version "0.40.0"}}}

这个文件应该和project.clj放在同一个目录下吗?

发现问题与 lein 无法找到图书馆有关。这是我尝试运行 lein repl

时遇到的错误
    PS C:\Users\mikol\documents\Clojure\learning> lein repl
    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
    SLF4J: DefaulTing to no-operation (nop) logger implementation
    SLF4J: See http://www.slf4j.org/codes.HTML#StaticLoggerBinder for further details.
    #error {
     :cause C:\Users\mikol\ApPDAta\Local\Temp\neanderthal-mkl-0.33.04368029947196620199.dll: Can't find dependent librarIEs
     :via
     [{:type clojure.lang.Compiler$CompilerException
       :message Syntax error macroexpanding at (mkl.clj:90:35).
       :data #:clojure.error{:phase :execution,:line 90,:column 35,:source mkl.clj}
       :at [clojure.lang.Compiler$InvokeExpr eval Compiler.java 3707]}
      {:type java.lang.UnsatisfIEdlinkError
       :message C:\Users\mikol\ApPDAta\Local\Temp\neanderthal-mkl-0.33.04368029947196620199.dll: Can't find dependent librarIEs
       :at [java.lang.classLoader$Nativelibrary load nil -2]}]
     :trace
     [[java.lang.classLoader$Nativelibrary load nil -2]
      [java.lang.classLoader loadlibrary0 nil -1]
      [java.lang.classLoader loadlibrary nil -1]
      [java.lang.Runtime load0 nil -1]
      [java.lang.System load nil -1]
[uncomplicate.neanderthal.internal.host.NarSystem loadlibrary NarSystem.java 48]
  [uncomplicate.neanderthal.internal.host.MKL <clinit> MKl.java 16]
  [uncomplicate.neanderthal.internal.host.mkl$create_stream_ars5 invokeStatic mkl.clj 87]
  [uncomplicate.neanderthal.internal.host.mkl$create_stream_ars5 invoke mkl.clj 85]
  [clojure.lang.AFn applyToHelper AFn.java 154]
  [clojure.lang.AFn applyTo AFn.java 144]
  [clojure.lang.Compiler$InvokeExpr eval Compiler.java 3702]
  [clojure.lang.Compiler$DefExpr eval Compiler.java 457]
  [clojure.lang.Compiler eval Compiler.java 7182]
  [clojure.lang.Compiler load Compiler.java 7636]
  [clojure.lang.RT loadresourceScript RT.java 381]
  [clojure.lang.RT loadresourceScript RT.java 372]
  [clojure.lang.RT load RT.java 459]
  [clojure.lang.RT load RT.java 424]
  [clojure.core$load$fn__6839 invoke core.clj 6126]
  [clojure.core$load invokeStatic core.clj 6125]
  [clojure.core$load doInvoke core.clj 6109]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [clojure.core$load_one invokeStatic core.clj 5908]
  [clojure.core$load_one invoke core.clj 5903]
  [clojure.core$load_lib$fn__6780 invoke core.clj 5948]
  [clojure.core$load_lib invokeStatic core.clj 5947]
  [clojure.core$load_lib doInvoke core.clj 5928]
  [clojure.lang.RestFn applyTo RestFn.java 142]
  [clojure.core$apply invokeStatic core.clj 667]
  [clojure.core$load_libs invokeStatic core.clj 5989]
  [clojure.core$load_libs doInvoke core.clj 5969]
  [clojure.lang.RestFn applyTo RestFn.java 137]
  [clojure.core$apply invokeStatic core.clj 667]
  [clojure.core$require invokeStatic core.clj 6007]
  [clojure.core$require doInvoke core.clj 6007]
  [clojure.lang.RestFn invoke RestFn.java 436]
  [uncomplicate.neanderthal.native$eval4770$loading__6721__auto____4771 invoke native.clj 9]
  [uncomplicate.neanderthal.native$eval4770 invokeStatic native.clj 9]
  [uncomplicate.neanderthal.native$eval4770 invoke native.clj 9]
  [clojure.lang.Compiler eval Compiler.java 7177]
  [clojure.lang.Compiler eval Compiler.java 7166]
  [clojure.lang.Compiler load Compiler.java 7636]
  [clojure.lang.RT loadresourceScript RT.java 381]
  [clojure.lang.RT loadresourceScript RT.java 372]
  [clojure.lang.RT load RT.java 459]
  [clojure.lang.RT load RT.java 424]
  [clojure.core$load$fn__6839 invoke core.clj 6126]
  [clojure.core$load invokeStatic core.clj 6125]
  [clojure.core$load doInvoke core.clj 6109]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [clojure.core$load_one invokeStatic core.clj 5908]
  [clojure.core$load_one invoke core.clj 5903]
  [clojure.core$load_lib$fn__6780 invoke core.clj 5948]
  [clojure.core$load_lib invokeStatic core.clj 5947]
  [clojure.core$load_lib doInvoke core.clj 5928]
  [clojure.lang.RestFn applyTo RestFn.java 142]
  [clojure.core$apply invokeStatic core.clj 667]
  [clojure.core$load_libs invokeStatic core.clj 5989]
  [clojure.core$load_libs doInvoke core.clj 5969]
  [clojure.lang.RestFn applyTo RestFn.java 137]
  [clojure.core$apply invokeStatic core.clj 669]
  [clojure.core$use invokeStatic core.clj 6093]
  [clojure.core$use doInvoke core.clj 6093]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [learning.core$eval149$loading__6721__auto____150 invoke core.clj 1]
  [learning.core$eval149 invokeStatic core.clj 1]
  [learning.core$eval149 invoke core.clj 1]
  [clojure.lang.Compiler eval Compiler.java 7177]
  [clojure.lang.Compiler eval Compiler.java 7166]
  [clojure.lang.Compiler load Compiler.java 7636]
  [clojure.lang.RT loadresourceScript RT.java 381]
  [clojure.lang.RT loadresourceScript RT.java 372]
  [clojure.lang.RT load RT.java 459]
  [clojure.lang.RT load RT.java 424]
  [clojure.core$load$fn__6839 invoke core.clj 6126]
  [clojure.core$load invokeStatic core.clj 6125]
  [clojure.core$load doInvoke core.clj 6109]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [clojure.core$load_one invokeStatic core.clj 5908]
  [clojure.core$load_one invoke core.clj 5903]
  [clojure.core$load_lib$fn__6780 invoke core.clj 5948]
  [clojure.core$load_lib invokeStatic core.clj 5947]
  [clojure.core$load_lib doInvoke core.clj 5928]
  [clojure.lang.RestFn applyTo RestFn.java 142]
  [clojure.core$apply invokeStatic core.clj 667]
  [clojure.core$load_libs invokeStatic core.clj 5985]
  [clojure.core$load_libs doInvoke core.clj 5969]
  [clojure.lang.RestFn applyTo RestFn.java 137]
  [clojure.core$apply invokeStatic core.clj 667]
  [clojure.core$require invokeStatic core.clj 6007]
  [clojure.core$require doInvoke core.clj 6007]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [user$eval5 invokeStatic form-init6219684087710879613.clj 1]
  [user$eval5 invoke form-init6219684087710879613.clj 1]
  [clojure.lang.Compiler eval Compiler.java 7177]
  [clojure.lang.Compiler eval Compiler.java 7166]
  [clojure.lang.Compiler eval Compiler.java 7166]
  [clojure.lang.Compiler load Compiler.java 7636]
  [clojure.lang.Compiler loadfile Compiler.java 7574]
  [clojure.main$load_script invokeStatic main.clj 475]
  [clojure.main$init_opt invokeStatic main.clj 477]
  [clojure.main$init_opt invoke main.clj 477]
  [clojure.main$initialize invokeStatic main.clj 508]
  [clojure.main$null_opt invokeStatic main.clj 542]
  [clojure.main$null_opt invoke main.clj 539]
  [clojure.main$main invokeStatic main.clj 664]
  [clojure.main$main doInvoke main.clj 616]
  [clojure.lang.RestFn applyTo RestFn.java 137]
  [clojure.lang.Var applyTo Var.java 705]
  [clojure.main main main.java 40]]}

解决方法

问题是缺少依赖项。将 [org.bytedeco/mkl-platform-redist "2020.3-1.5.4"] 添加到我的 project.clj 解决了这个问题。

大佬总结

以上是大佬教程为你收集整理的Clojure 找不到依赖项全部内容,希望文章能够帮你解决Clojure 找不到依赖项所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。