简体   繁体   English

使Leiningen在Mac OS X 10.7.2上运行

[英]Getting Leiningen running on Mac OS X 10.7.2

I installed Leiningen on Mac OS X 10.7.2 via MacPorts: 我通过MacPorts在Mac OS X 10.7.2上安装了Leiningen:

$ lein version
Leiningen 1.6.1.1 on Java 1.6.0_29 Java HotSpot(TM) 64-Bit Server VM

I also have clojure and clojure-contrib packages installed: 我还安装了clojureclojure-contrib软件包:

$ sudo port installed clojure*
The following ports are currently installed:
  clojure @1.3.0_0 (active)
  clojure-contrib @1.2.0_0 (active)

To test my environment, I generated a sample helloworld project, as described here by Zef Hemel . 为了测试我的环境,我生成了一个示例helloworld项目, 如Zef Hemel所述 Here is the project.clj file: 这是project.clj文件:

(defproject helloworld "0.1"
    :dependencies [[org.clojure/clojure
                      "1.3.0-master-SNAPSHOT"]
                   [org.clojure/clojure-contrib
                      "1.2.0-SNAPSHOT"]]
    :main helloworld)

And here is the helloworld.clj file: 这是helloworld.clj文件:

(ns helloworld
  (:gen-class))

(defn -main [& args]
  (println "Hello world!"))

When I try to compile this project, I get several update messages... 当我尝试编译该项目时,我收到一些更新消息...

$ pwd
/Users/alexreynolds/helloworld

$ sudo lein compile
[INFO] snapshot org.clojure:clojure:1.3.0-master-SNAPSHOT: checking for updates from clojars
Downloading: org/clojure/clojure/1.3.0-master-SNAPSHOT/clojure-1.3.0-master-SNAPSHOT.pom from clojars
[INFO] snapshot org.clojure:clojure-contrib:1.2.0-SNAPSHOT: checking for updates from clojars
Downloading: org/clojure/clojure-contrib/1.2.0-SNAPSHOT/clojure-contrib-1.2.0-SNAPSHOT.pom from clojars
Downloading: org/clojure/clojure/1.3.0-master-SNAPSHOT/clojure-1.3.0-master-SNAPSHOT.jar from clojars
Downloading: org/clojure/clojure-contrib/1.2.0-SNAPSHOT/clojure-contrib-1.2.0-SNAPSHOT.jar from clojars

...and then a whole bunch of errors: ...然后是一堆错误:

An error has occurred while processing the Maven artifact tasks.
 Diagnosis:

Unable to resolve artifact: Missing:
----------
1) org.clojure:clojure:jar:1.3.0-master-SNAPSHOT

  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.3.0-master-SNAPSHOT -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 -Dversion=1.3.0-master-SNAPSHOT -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.3.0-master-SNAPSHOT

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

  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-SNAPSHOT -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-SNAPSHOT -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-SNAPSHOT

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

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

from the specified remote repositories:
  clojars (http://clojars.org/repo/),
  central (http://repo1.maven.org/maven2)

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

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

from the specified remote repositories:
  clojars (http://clojars.org/repo/),
  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:457)
        at clojure.lang.Var.invoke(Var.java:377)
        at clojure.lang.AFn.applyToHelper(AFn.java:172)
        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.3.0-master-SNAPSHOT

  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.3.0-master-SNAPSHOT -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 -Dversion=1.3.0-master-SNAPSHOT -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.3.0-master-SNAPSHOT

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

  Try downloading the file manually from the project website.

...

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

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

from the specified remote repositories:
  clojars (http://clojars.org/repo/),
  central (http://repo1.maven.org/maven2)


    at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:324)
        at org.apache.maven.artifact.ant.DependenciesTask.doExecute(DependenciesTask.java:170)
    ... 38 more

I have tried to self-install : 我试图self-install

$ sudo lein self-install
Downloading Leiningen now...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 9161k  100 9161k    0     0  1889k      0  0:00:04  0:00:04 --:--:-- 2580k

But on the second attempt to compile , I get the same warnings and errors. 但是在第二次尝试compile ,我得到了相同的警告和错误。

What should I try in order to fix this? 为了解决这个问题,我应该尝试什么? Thanks for your advice. 谢谢你的建议。

SNAPSHOT releases are typically deployed to separate maven repositories. SNAPSHOT版本通常部署在单独的Maven存储库中。 Recent versions of Leiningen don't include Clojure snapshot repositories in the default list of repositories. Leiningen的最新版本不在默认存储库列表中包括Clojure快照存储库。

Unless you have a good reason to use SNAPSHOT dependencies, you should list stable versions in project.clj instead: 除非有充分的理由使用SNAPSHOT依赖项,否则应在project.clj列出稳定版本:

(defproject helloworld "0.1"
    :dependencies [[org.clojure/clojure "1.3.0"]]
    :main helloworld)

(I removed clojure-contrib since version 1.2.0 isn't compatible with clojure 1.3 and your sample project isn't using it anyway.) (我删除了clojure-contrib因为1.2.0版与clojure 1.3不兼容,并且您的示例项目始终没有使用它。)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM