3

我正试图让 lein 启动并运行。但由于某种原因,我遇到了很多问题。我在 Windows 7 上执行此操作。我下载了 lein 并执行了以下操作:

lein self-install

这运行正确

然后我通过创建了一个项目

lein new helloworld

然后我通过

lein deps

我明白了:

Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.pom from central
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.pom from clojure
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.pom from clojure-snapshots
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.pom from clojars
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.pom from central
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.pom from central
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.pom from clojure
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.pom from clojure-snapshots
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.pom from clojars
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.pom from central
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.jar from central
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.jar from clojure
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.jar from clojure-snapshots
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.jar from clojars
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.jar from central
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.jar from central
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.jar from clojure
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.jar from clojure-snapshots
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.jar from clojars
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.jar from central
Exception in thread "main" Unable to resolve artifact: Missing:
----------
1) org.clojure:clojure:jar:1.2.0

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=org.clojure -DartifactId=clojure -Dversion=1.2.0 -Dpackaging=jar -Dfile=/path/t
o/file

  Alternatively, if you host your own repository you can deploy the file there:
      mvn deploy:deploy-file -DgroupId=org.clojure -DartifactId=clojure -Dversion=1.2.0 -Dpackaging=jar -Dfile=/path/to/
file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
        1) org.apache.maven:super-pom:jar:2.0
        2) org.clojure:clojure:jar:1.2.0

2) org.clojure:clojure-contrib:jar:1.2.0

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=org.clojure -DartifactId=clojure-contrib -Dversion=1.2.0 -Dpackaging=jar -Dfile
=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there:
      mvn deploy:deploy-file -DgroupId=org.clojure -DartifactId=clojure-contrib -Dversion=1.2.0 -Dpackaging=jar -Dfile=/
path/to/file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
        1) org.apache.maven:super-pom:jar:2.0
        2) org.clojure:clojure-contrib:jar:1.2.0

----------
2 required artifacts are missing.

for artifact:
  org.apache.maven:super-pom:jar:2.0

from the specified remote repositories:
  clojure (http://build.clojure.org/releases),
  clojars (http://clojars.org/repo/),
  clojure-snapshots (http://build.clojure.org/snapshots),
  central (http://repo1.maven.org/maven2)

 (NO_SOURCE_FILE:0)
        at clojure.lang.Compiler.eval(Compiler.java:5440)
        at clojure.lang.Compiler.eval(Compiler.java:5391)
        at clojure.core$eval.invoke(core.clj:2382)
        at clojure.main$eval_opt.invoke(main.clj:235)
        at clojure.main$initialize.invoke(main.clj:254)
        at clojure.main$script_opt.invoke(main.clj:270)
        at clojure.main$main.doInvoke(main.clj:354)
        at clojure.lang.RestFn.invoke(RestFn.java:458)
        at clojure.lang.Var.invoke(Var.java:377)
        at clojure.lang.AFn.applyToHelper(AFn.java:174)
        at clojure.lang.Var.applyTo(Var.java:482)
        at clojure.main.main(main.java:37)
Caused by: Unable to resolve artifact: Missing:
----------
1) org.clojure:clojure:jar:1.2.0

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=org.clojure -DartifactId=clojure -Dversion=1.2.0 -Dpackaging=jar -Dfile=/path/t
o/file

  Alternatively, if you host your own repository you can deploy the file there:
      mvn deploy:deploy-file -DgroupId=org.clojure -DartifactId=clojure -Dversion=1.2.0 -Dpackaging=jar -Dfile=/path/to/
file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
        1) org.apache.maven:super-pom:jar:2.0
        2) org.clojure:clojure:jar:1.2.0

2) org.clojure:clojure-contrib:jar:1.2.0

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=org.clojure -DartifactId=clojure-contrib -Dversion=1.2.0 -Dpackaging=jar -Dfile
=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there:
      mvn deploy:deploy-file -DgroupId=org.clojure -DartifactId=clojure-contrib -Dversion=1.2.0 -Dpackaging=jar -Dfile=/
path/to/file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
        1) org.apache.maven:super-pom:jar:2.0
        2) org.clojure:clojure-contrib:jar:1.2.0

----------
2 required artifacts are missing.

for artifact:
  org.apache.maven:super-pom:jar:2.0

from the specified remote repositories:
  clojure (http://build.clojure.org/releases),
  clojars (http://clojars.org/repo/),
  clojure-snapshots (http://build.clojure.org/snapshots),
  central (http://repo1.maven.org/maven2)


        at org.apache.maven.artifact.ant.DependenciesTask.doExecute(DependenciesTask.java:175)
        at org.apache.maven.artifact.ant.AbstractArtifactTask.execute(AbstractArtifactTask.java:678)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:90)
        at clojure.lang.Reflector.invokeNoArgInstanceMember(Reflector.java:265)
        at leiningen.deps$deps.invoke(deps.clj:79)
        at leiningen.deps$deps.invoke(deps.clj:90)
        at leiningen.deps$deps.invoke(deps.clj:91)
        at clojure.lang.Var.invoke(Var.java:365)
        at clojure.lang.AFn.applyToHelper(AFn.java:163)
        at clojure.lang.Var.applyTo(Var.java:482)
        at clojure.core$apply.invoke(core.clj:542)
        at leiningen.core$apply_task.invoke(core.clj:191)
        at leiningen.core$_main.doInvoke(core.clj:250)
        at clojure.lang.RestFn.applyTo(RestFn.java:138)
        at clojure.core$apply.invoke(core.clj:542)
        at leiningen.core$_main.invoke(core.clj:255)
        at user$eval175.invoke(NO_SOURCE_FILE:1)
        at clojure.lang.Compiler.eval(Compiler.java:5424)
        ... 11 more
Caused by: org.apache.maven.artifact.resolver.MultipleArtifactsNotFoundException: Missing:
----------
1) org.clojure:clojure:jar:1.2.0

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=org.clojure -DartifactId=clojure -Dversion=1.2.0 -Dpackaging=jar -Dfile=/path/t
o/file

  Alternatively, if you host your own repository you can deploy the file there:
      mvn deploy:deploy-file -DgroupId=org.clojure -DartifactId=clojure -Dversion=1.2.0 -Dpackaging=jar -Dfile=/path/to/
file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
        1) org.apache.maven:super-pom:jar:2.0
        2) org.clojure:clojure:jar:1.2.0

2) org.clojure:clojure-contrib:jar:1.2.0

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=org.clojure -DartifactId=clojure-contrib -Dversion=1.2.0 -Dpackaging=jar -Dfile
=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there:
      mvn deploy:deploy-file -DgroupId=org.clojure -DartifactId=clojure-contrib -Dversion=1.2.0 -Dpackaging=jar -Dfile=/
path/to/file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
        1) org.apache.maven:super-pom:jar:2.0
        2) org.clojure:clojure-contrib:jar:1.2.0

----------
2 required artifacts are missing.

for artifact:
  org.apache.maven:super-pom:jar:2.0

from the specified remote repositories:
  clojure (http://build.clojure.org/releases),
  clojars (http://clojars.org/repo/),
  clojure-snapshots (http://build.clojure.org/snapshots),
  central (http://repo1.maven.org/maven2)


        at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:3
24)
        at org.apache.maven.artifact.ant.DependenciesTask.doExecute(DependenciesTask.java:170)
        ... 32 more
PS C:\clojureprj\helloworld> lein deps 2> out.txt
An error has occurred while processing the Maven artifact tasks.
 Diagnosis:

Unable to resolve artifact: Missing:
----------
1) org.clojure:clojure:jar:1.2.0

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=org.clojure -DartifactId=clojure -Dversion=1.2.0 -Dpackaging=jar -Dfile=/path/t
o/file

  Alternatively, if you host your own repository you can deploy the file there:
      mvn deploy:deploy-file -DgroupId=org.clojure -DartifactId=clojure -Dversion=1.2.0 -Dpackaging=jar -Dfile=/path/to/
file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
        1) org.apache.maven:super-pom:jar:2.0
        2) org.clojure:clojure:jar:1.2.0

2) org.clojure:clojure-contrib:jar:1.2.0

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=org.clojure -DartifactId=clojure-contrib -Dversion=1.2.0 -Dpackaging=jar -Dfile
=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there:
      mvn deploy:deploy-file -DgroupId=org.clojure -DartifactId=clojure-contrib -Dversion=1.2.0 -Dpackaging=jar -Dfile=/
path/to/file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
        1) org.apache.maven:super-pom:jar:2.0
        2) org.clojure:clojure-contrib:jar:1.2.0

----------
2 required artifacts are missing.

for artifact:
  org.apache.maven:super-pom:jar:2.0

from the specified remote repositories:
  clojure (http://build.clojure.org/releases),
  clojars (http://clojars.org/repo/),
  clojure-snapshots (http://build.clojure.org/snapshots),
  central (http://repo1.maven.org/maven2)




PS C:\clojureprj\helloworld>

我究竟做错了什么?lein 真的找不到 Clojure 吗?我确定我在这里遗漏了一些东西。

- - 编辑 - - -

这是我正在使用的 project.clj:

(defproject helloworld "1.0.0-SNAPSHOT"
  :description "FIXME: write"
  :dependencies [[org.clojure/clojure "1.2.0"]
                 [org.clojure/clojure-contrib "1.2.0"]])
4

3 回答 3

3

得爱 Maven 错误消息;)

这是 maven 说的“无法下载您要求的版本”...

这可能是由以下原因引起的:

  • 指定 project.clj 中不存在的依赖项的版本(不太可能,因为您只是自动生成它)
  • 包维护者破坏了依赖关系。
  • leiningen 中的错误(现在很少见)。
  • 遗留在您的 Maven 缓存中的垃圾(尝试删除它,抱歉我不知道它在 Windows 中的位置)
  • 手动指定的 Maven 存储库,而不是全局的标准中央存储库(罕见)

尝试下载最新版本的 lein,删除你的 maven 缓存,再次运行它,然后在 leiningen 邮件列表上抱怨。

于 2011-02-19T04:59:00.573 回答
0

由于 clojure jar 实际上在指定的存储库之一中可用,因此可能是网络配置不正确的情况。如果您在代理后面,请正确配置 Maven 并重试。

于 2011-02-19T14:09:24.963 回答
0

我收到了同样的错误消息——对我来说,我指定了错误的 jar 依赖项(从另一个来源复制)。您可以在此处查看可用的人工制品:

http://search.maven.org/#search%7Cga%7C1%7Cclojure

我希望这可以帮助别人

于 2013-11-22T14:45:25.113 回答