缘由:学习common-lisp过程中,一般都是在我本地的虚拟机中,用的lispbox(由于参考书很老)。最近有需求在我的远程服务器上跑(ubuntu,在美国的虚拟主机,原因大家都知道的)。安装好lispbox后,发现无法在远程ssh工具上打开,换工具测试,还是不行。应该是lispbox项目都被废弃的,没有维护造成的原因。而且emacs版本才23
手动安装common-lisp环境(linux-64 + emacs-24.5 + slime + sbcl-1.3.1+quicklisp)
1.安装好emacs
由于我是在ubuntu中,直接apt-get install emacs
如果是在centos ,redhat 中 yum install emacs。emacs版本可能不一样,但是23的也没问题
2.安装slime
由于上传速度太慢,而我的主机ubuntu在美国,所以我用git clone下来的,你也可以用其他办法下载下来如wget 。
注意a:slime的路径问题
先切换到该用户的根路径:cd ~ cd .emacs.d 找到site-lisp目录(其实不一定要是这个名字),如果没有创建一个。然后进入site-lisp 将slime放在这里 如 : git clone https://github.com/slime/slime.git
3.安装sbcl(这里可以换各种common-lisp方言)
按照官方推荐安装在/usr/local/ 目录下 (注意下载版本要和机器匹配如32 -86 64 -86_64) 下在后解压
wget http://prdownloads.sourceforge.net/sbcl/sbcl-1.3.1-x86-64-linux-binary.tar.bz2
bzip2 -cd sbcl-1.3.1-x86-linux-binary.tar.bz2 | tar xvf -
安装:
cd sbcl-1.3.1-x86-linux
sh install.sh
安装好后,会提示sbcl的路径 :我的是在:/usr/local/bin 记录下这个路径,如果忘了 which sbcl
查看。在shell 中运行sbcl 会出现sbcl的版本信息,表示安装成功,(quit)退出
4.配置emacs
返回~根目录 cd ~ 找到一个叫.emacs的文件(有的人没有),没有的话创建一个,emacs .emacs
将下面的内容复制上去
;; setup load-path and autoloads
(add-to-list 'load-path "~/.emacs.d/site-lisp/slime")
(require 'slime-autoloads)
;; Set your lisp system and, optionally, some contribs
(setq inferior-lisp-program "/usr/local/bin/sbcl")
(setq slime-contribs '(slime-fancy))
ctrl+x ctrl+s保存内容修改
ctrl+x ctrl+c退出emacs编辑器。这个你们都会的
说明:其实观察.emacs文件的内容,你们就知道什么意思了,可以自己修改slime安装路径,和sbcl的路径
运行emacs M-x slime就可以看到 CL-USER>
配置完成!
5.安装quicklisp包管理器(参考https://www.quicklisp.org/beta/)----自备*
在shell下运行 :
curl -O https://beta.quicklisp.org/quicklisp.lisp
验证quicklisp.lisp的完整性:
curl -O https://beta.quicklisp.org/quicklisp.lisp.asc
gpg --verify quicklisp.lisp.asc quicklisp.lisp
good singnatrue---- 表示通过验证
进入emacs M-x slime 进入CL-USER>
, cd 选择工作目录。最好是把刚才下载的文件quicklisp.lisp 拷贝到工作目录里。
(load “quicklisp.lisp”) //如果没有找到这个文件会报错提示(此时是在sbcl的REPL中)
(quicklisp-quickstart:install)
安装完成
启动common-lisp时自动加载quicklisp
(ql:add-to-init-file)
//quicklisp的使用
To load software, use:
(ql:quickload system-name)
To remove software, use:
(ql:uninstall system-name)
To find out what's available in Quicklisp, use:
(ql:system-apropos substring)
To load Quicklisp when you start Lisp, use:
(ql:add-to-init-file)
To get updated software, use:
(ql:update-all-dists)
To update the Quicklisp client, use:
(ql:update-client)
To see what systems depend on a particular system, use:
(ql:who-depends-on system-name)
(完)
转载于:https://my.oschina.net/livend/blog/611792