leiningen安装记录
Leiningen是Clojure项目管理工具Leiningen is the easiest way to use Clojure,官网:http://leiningen.org/
1:首先下载Leiningen安装脚本:https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein
2:将其保存为lein文件然后移动到/usr/bin/目录下面(Ubuntu14.0.4 LST 64Bit)
y@y:~$ sudo mv my_note/lein /usr/bin/
修改lein权限,让其可以执行:
y@y:/usr/bin$ chmod +x lein
3:执行lein命令,进行安装:
y@y:~$ lein
Downloading Leiningen to /home/y/.lein/self-installs/leiningen-2.4.-standalone.jar now...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
--:--:-- :: --:--:--
--:--:-- :: --:--:--
curl: () The requested URL returned error: Forbidden
Failed to download https://github.com/technomancy/leiningen/releases/download/2.4.3/leiningen-2.4.3-standalone.jar
It's possible your HTTP client's certificate store does not have the
correct certificate authority needed. This is often caused by an
out-of-date version of libssl. Either upgrade it or set HTTP_CLIENT
to turn off certificate checks:
export HTTP_CLIENT="wget --no-check-certificate -O" # or
export HTTP_CLIENT="curl --insecure -f -L -o"
It's also possible that you're behind a firewall haven't yet
set HTTP_PROXY and HTTPS_PROXY.
[由于国内网络原因不能访问下载链接]
首先清除:
y@y:~$ rm .lein/ -rf
采用VPN或代理进行联网,再次运行下载成功!
y@y:~$ lein
Downloading Leiningen to /home/y/.lein/self-installs/leiningen-2.4.-standalone.jar now...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
--:--:-- :: --:--:--
14.2M 14.2M 195k :: :: --:--:-- 126k
(Retrieving org/clojure/tools.nrepl/0.2./tools.nrepl-0.2..pom from central)
(Retrieving org/clojure/pom.contrib/0.1./pom.contrib-0.1..pom from central)
(Retrieving org/sonatype/oss/oss-parent//oss-parent-.pom from central)
(Retrieving clojure-complete/clojure-complete/0.2./clojure-complete-0.2..pom from clojars)
(Retrieving org/clojure/tools.nrepl/0.2./tools.nrepl-0.2..jar from central)
(Retrieving clojure-complete/clojure-complete/0.2./clojure-complete-0.2..jar from clojars)
Leiningen is a tool for working with Clojure projects. Several tasks are available:
change Rewrite project.clj by applying a function.
check Check syntax and warn on reflection.
classpath Print the classpath of the current project.
clean Remove all files from project's target-path.
compile Compile Clojure source into .class files.
deploy Build and deploy jar to remote repository.
deps Download all dependencies.
do Higher-order task to perform other tasks in succession.
help Display a list of tasks or help for a given task.
install Install the current project to the local repository.
jar Package up all the project's files into a jar file.
javac Compile Java source files.
new Generate project scaffolding based on a template.
plugin DEPRECATED. Please use the :user profile instead.
pom Write a pom.xml file to disk for Maven interoperability.
release Perform :release-tasks.
repl Start a repl session either with the current project or standalone.
retest Run only the test namespaces which failed last time around.
run Run a -main function with optional command-line arguments.
search Search remote maven repositories for matching jars.
show-profiles List all available profiles or display one if given an argument.
test Run the project's tests.
trampoline Run a task without nesting the project's JVM inside Leiningen's.
uberjar Package up the project files and dependencies into a jar file.
update-in Perform arbitrary transformations on your project map.
upgrade Upgrade Leiningen to specified version or latest stable.
vcs Interact with the version control system.
version Print version for Leiningen and the current JVM.
with-profile Apply the given task with the profile(s) specified. Run `lein help $TASK` for details. Global Options:
-o Run a task offline.
-U Run a task after forcing update of snapshots.
-h, --help Print this help or help for a specific task.
-v, --version Print Leiningen's version. See also: readme, faq, tutorial, news, sample, profiles, deploying, gpg,
mixed-source, templates, and copying.
y@y:~$
4:运行lein repl进入控制台,发现报以下异常:
y@y:~$ lein repl
nREPL server started on port on host 127.0.0.1 - nrepl://127.0.0.1:40433
Exception in thread "nREPL-worker-0" java.lang.NoSuchMethodError: clojure.tools.nrepl.StdOutBuffer.length()I
at clojure.tools.nrepl.middleware.session$session_out$fn__7630.doInvoke(session.clj:)
at clojure.lang.RestFn.invoke(RestFn.java:)
at clojure.tools.nrepl.middleware.session.proxy$java.io.Writer$ff19274a.write(Unknown Source)
at java.io.PrintWriter.write(PrintWriter.java:)
at java.io.PrintWriter.write(PrintWriter.java:)
at clojure.core$fn__5471.invoke(core_print.clj:)
at clojure.lang.MultiFn.invoke(MultiFn.java:)
at clojure.core$pr_on.invoke(core.clj:)
at clojure.core$pr.invoke(core.clj:)
at clojure.lang.AFn.applyToHelper(AFn.java:)
at clojure.lang.RestFn.applyTo(RestFn.java:)
at clojure.core$apply.invoke(core.clj:)
at clojure.core$prn.doInvoke(core.clj:)
at clojure.lang.RestFn.applyTo(RestFn.java:)
at clojure.core$apply.invoke(core.clj:)
at clojure.core$println.doInvoke(core.clj:)
at clojure.lang.RestFn.invoke(RestFn.java:)
at clojure.main$repl_caught.invoke(main.clj:)
at clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn__7569$fn__7582.invoke(interruptible_eval.clj:)
at clojure.main$repl$fn__6634.invoke(main.clj:)
at clojure.main$repl.doInvoke(main.clj:)
at clojure.lang.RestFn.invoke(RestFn.java:)
at clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn__7569.invoke(interruptible_eval.clj:)
at clojure.lang.AFn.applyToHelper(AFn.java:)
at clojure.lang.AFn.applyTo(AFn.java:)
at clojure.core$apply.invoke(core.clj:)
at clojure.core$with_bindings_STAR_.doInvoke(core.clj:)
at clojure.lang.RestFn.invoke(RestFn.java:)
at clojure.tools.nrepl.middleware.interruptible_eval$evaluate.invoke(interruptible_eval.clj:)
at clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn__7610$fn__7613.invoke(interruptible_eval.clj:)
at clojure.core$comp$fn__4192.invoke(core.clj:)
at clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn__7603.invoke(interruptible_eval.clj:)
at clojure.lang.AFn.run(AFn.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:)
REPL-y 0.3., nREPL 0.2.-beta5NoSuchMethodError clojure.tools.nrepl.StdOutBuffer.length()I clojure.tools.nrepl.middleware.session/session-out/fn-- (session.clj:)NoSuchMethodError clojure.tools.nrepl.StdOutBuffer.length()I clojure.tools.nrepl.middleware.session/session-out/fn-- (session.clj:)#<Namespace user>Exception in thread "nREPL-worker-2" java.lang.NoSuchMethodError: clojure.tools.nrepl.StdOutBuffer.length()I
at clojure.tools.nrepl.middleware.session$session_out$fn__7630.doInvoke(session.clj:)
at clojure.lang.RestFn.invoke(RestFn.java:)
at clojure.tools.nrepl.middleware.session.proxy$java.io.Writer$ff19274a.write(Unknown Source)
at java.io.PrintWriter.write(PrintWriter.java:)
at java.io.PrintWriter.write(PrintWriter.java:)
at clojure.core$fn__5471.invoke(core_print.clj:)
at clojure.lang.MultiFn.invoke(MultiFn.java:)
at clojure.core$pr_on.invoke(core.clj:)
at clojure.core$pr.invoke(core.clj:)
at clojure.lang.AFn.applyToHelper(AFn.java:)
at clojure.lang.RestFn.applyTo(RestFn.java:)
at clojure.core$apply.invoke(core.clj:)
at clojure.core$prn.doInvoke(core.clj:)
at clojure.lang.RestFn.applyTo(RestFn.java:)
at clojure.core$apply.invoke(core.clj:)
at clojure.core$println.doInvoke(core.clj:)
at clojure.lang.RestFn.invoke(RestFn.java:)
at clojure.main$repl_caught.invoke(main.clj:)
at clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn__7569$fn__7582.invoke(interruptible_eval.clj:)
at clojure.main$repl$fn__6634.invoke(main.clj:)
at clojure.main$repl.doInvoke(main.clj:)
at clojure.lang.RestFn.invoke(RestFn.java:)
at clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn__7569.invoke(interruptible_eval.clj:)
at clojure.lang.AFn.applyToHelper(AFn.java:)
at clojure.lang.AFn.applyTo(AFn.java:)
at clojure.core$apply.invoke(core.clj:)
at clojure.core$with_bindings_STAR_.doInvoke(core.clj:)
at clojure.lang.RestFn.invoke(RestFn.java:)
at clojure.tools.nrepl.middleware.interruptible_eval$evaluate.invoke(interruptible_eval.clj:)
at clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn__7610$fn__7613.invoke(interruptible_eval.clj:)
at clojure.core$comp$fn__4192.invoke(core.clj:)
at clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn__7603.invoke(interruptible_eval.clj:)
at clojure.lang.AFn.run(AFn.java:)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:)
at java.lang.Thread.run(Thread.java:) Error loading namespace; falling back to userNoSuchMethodError clojure.tools.nrepl.StdOutBuffer.length()I clojure.tools.nrepl.middleware.session/session-out/fn-- (session.clj:)NoSuchMethodError clojure.tools.nrepl.StdOutBuffer.length()I clojure.tools.nrepl.middleware.session/session-out/fn-- (session.clj:)user=>
google了一番原来是leiningen2.4.3的一个BUG:https://github.com/technomancy/leiningen/issues/1625
解决方法:将其回退到2.4.2版
y@y:~$ lein downgrade 2.4.
Downloading Leiningen to /home/y/.lein/self-installs/leiningen-2.4.-standalone.jar now...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
--:--:-- :: --:--:--
13.2M 13.2M 432k :: :: --:--:-- 611k
The script at /usr/bin/lein will be upgraded to the latest 2.4. version.
Do you want to continue [Y/n]? Y Upgrading...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
--:--:-- :: --:--:--
:: :: --:--:--
mv: 无法将"/tmp/lein-12771-upgrade" 移动至"/usr/bin/lein": 权限不够
Leiningen 2.4. on Java 1.7.0_55 Java HotSpot(TM) -Bit Server VM
5:再次运行lein repl 成功
y@y:~$ lein repl
nREPL server started on port on host 127.0.0.1 - nrepl://127.0.0.1:33169
REPL-y 0.3.
Clojure 1.6.
Docs: (doc function-name-here)
(find-doc "part-of-name-here")
Source: (source function-name-here)
Javadoc: (javadoc java-object-or-class-here)
Exit: Control+D or (exit) or (quit)
Results: Stored in vars *, *, *, an exception in *e user=>
输出helo,world
user=> (println "Hello,world!")
Hello,world!
nil
user=>
leiningen安装记录的更多相关文章
- 分布式监控系统Zabbix-3.0.3-完整安装记录(7)-使用percona监控MySQL
前面已经介绍了分布式监控系统Zabbix-3.0.3-完整安装记录(2)-添加mysql监控,但是没有提供可以直接使用的Key,太过简陋,监控效果不佳.要想更加仔细的监控Mysql,业内同学们都会选择 ...
- 关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用
关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用 工作环境:window下 在一切的最开始,安装node.js (中文站,更新比较慢http://nodejs.cn/) ...
- sourceinsight安装记录
sourceinsight安装记录 此文章为本人使用sourceinsight一个星期之后的相关设置步骤记录和经验记录,以备以后查验,网上的相关资料都也较为完善,但是对于新手还是有一定困难的,所以在这 ...
- openerp安装记录及postgresql数据库问题解决
ubuntu-14.04下openerp安装记录1.安装PostgreSQL 数据库 a.安装 sudo apt-get install postgresql 安装后ubu ...
- Matlab安装记录 - LED Control Activex控件安装
Matlab安装记录-LED Control Activex控件安装 2013-12-01 22:06:36 最近在研究Matlab GUI技术,准备用于制作上位机程序:在Matlab GUI的技术 ...
- Arch Linux 安装记录
Arch Linux 安装记录 基本上参考wiki上的新手指南,使用arch 2014.6.1 iso安装 设置网络 有线网络 Arch Linux 默认开启DHCP. 静态ip 首先关闭DHCP:s ...
- redis5.0.3单实例简单安装记录
redis5.0.3单实例简单安装记录 日常需要测试使用,索性记录下来,免得临时又麻烦的找资料. yum -y install make gcc-c++ cmake bison-devel ncurs ...
- mysql5.7安装记录
mysql安装记录 版本5.7 windows系统 一.缺少my.ini文件 [mysql]# 设置mysql客户端默认字符集default-character-set=utf8 [mysqld]#设 ...
- Liunx/RHEL6.5 Oracle11 安装记录
1.创建用户组 groupadd oinstall #创建用户组oinstall groupadd dba #创建用户组dba useradd -g oinstall -g dba -m oracle ...
随机推荐
- 设置WebSphere字符集参数
设置WebSphere字符集参数 1. 登陆was控制台 2. 依次点击服务器→服务器类型→应用服务器,显示应用程序服务器页面: 3. 选择并点击需要设置字符集的服务器,比如说本例中的server1 ...
- cf C. Quiz
http://codeforces.com/contest/337/problem/C 得到的分数为:(2^1+2^2+...+2^X)*k + m-X*k = (2^(X+1)-2)*k + m-X ...
- 索引列上的统计 <第一篇>
一.索引在查询优化中的角色 SQL Server的查询优化器是基于开销的优化器.它通过确认选择性.数据的唯一性以及过滤数据(通过WHERE或JOIN子句)所使用的列来决定最佳的数据访问机制.统计与索引 ...
- C语言中的声明解析规则——数组,指针与函数
摘要:C语言的申明存在的最大问题是:你无法以一种人们所习惯的自然方式和从左向右阅读一个声明,在引入voliatile和const关键字以后,情况更加糟糕了.由于这些关键字只能出现在声明中,是的声明形式 ...
- DBA 经典面试题(4)
1.如果信息采集管理系统(ICM)崩溃了怎么办? 答案:所有其他的管理器都会继续工作.ICM只会处理队列控制请求,意思是开启和关闭其他并发的管理器. 2.你如何加速打补丁的过程? 答案: ...
- WEB应用知识一二三
1.HTTP协议 |--基于请求(Request)和响应(Response)的无状态通讯协议 浏览器和WEB应用程序通过HTTP进行通信.客户端通过URL对指定服务器要求特定位置的数据 |--POST ...
- 常用JS代码整理
1: function request(paras) { 2: var url = location.href; 3: var paraString = url.substring(url.index ...
- java二维码开发
之前就写过很多关于二维码的东西,一直没有时间整理一下,所以呢今天就先来介绍一下如何利用java开发二维码.生成二维码有很多jar包可以实现,例如Zxing,QRcode,前者是谷歌的,后者日本的,这里 ...
- ZooKeeper的学习与应用
近期大概学习了一下ZooKeeper,本身并没有深入.LGG尝试着在虚拟机里面搭了平台,看了看一些教材,从网上到处看别人的博文并引用之,还请各位大牛们谅解我的剽窃.现总结例如以下. 1. ZooKee ...
- 30款基本UX工具 - 思维流程工具 & 原型工具
来源:GBin1.com 现在的开发人员在建造网站时,注重的是布局和技术特性,但是往往忽略了更重要的一点,那就是用户体验. 如 果用户在使用的时候,不能简单清楚的知道该要如何操作,那么他们一定会选择另 ...