2012-01-17 107 views
0

我的MacPorts通過在Mac OS X 10.7.2安裝Leiningen:入門Leiningen在Mac OS X 10.7.2上運行

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

我也有安裝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) 

要測試我的環境,我生成了一個樣本helloworld項目,as described here by Zef Hemel。這裏是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) 

這裏是helloworld.clj文件:

(ns helloworld 
    (:gen-class)) 

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

當我嘗試編譯這個項目,我得到幾個更新消息...

$ 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 

...然後出現一大堆錯誤:

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 

我試圖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 

但在第二次嘗試compile,我得到同樣的警告和錯誤。

我該如何解決這個問題?謝謝你的建議。

回答

5

SNAPSHOT通常部署版本以分離maven存儲庫。 Leiningen的最新版本不包括倉庫缺省列表中的Clojure快照存儲庫。

除非你有一個很好的理由使用SNAPSHOT依賴關係,您應該列出穩定的版本,而不是project.clj

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

(我刪除clojure-contrib因爲版本1.2.0不兼容clojure 1.3和您的樣本項目ISN」 t無論如何使用它。)

+0

謝謝,這沒關係。 – 2012-01-17 09:40:47