[英]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: 我还安装了clojure
和clojure-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.