Home > misc > Windows中erlang环境配置

Windows中erlang环境配置

January 15th, 2009 :: ezhozhe

各位发的贴都很高深啊,-_-!,我只能冒死出来发点扫盲类贴子了。接触erlang是在今年7月(忘了已经09年了),公司有一批code,在完全不懂的状况下拿来依葫芦画瓢的改,那个郁闷就别提了,erlang的可读性大家都知道…… 2个月前开始系统学习,对于像我这样的非专业编程人士,很希望能在windows下跑erlang。《Programming Erlang》有一章是讲怎么配windows环境的,不过配置过程中还是遇到不少问题,于是上网查了些资料。总而言之,都是别人的东西,我只是拿来总结一下。废话不多说,开始:

1.安装erlang  http://www.erlang.org/download.html

2.配置Erlang的CWD(current working directory)

在C:\Program Files\erl5.6.2下建一个名为 _erlang 的文件,文件内容如下:

io:format(“consulting .erlang in ~p~n” ,
[element(2,file:get_cwd())]).
%% Edit to the directory where you store your code
c:cd(“c:/zmz/erlang/home/code” ).
io:format(“Now in:~p~n” , [element(2,file:get_cwd())]).

3.配置环境变量

Computer->Properties->Advanced system settings->Advanced->Environment Variables->System variables
添加 HOME c:\zmz\erlang\home

3.安装emacs ftp://ftp.gnu.org/gnu/emacs/windows/, windows下我找不到什么好用的IDE了。eclipse的erlide是beta版,并且是1年多前开发的,此后再也没有新的版本。我装过,经常出错,很不好用。还有个中国牛人自编的erlang IDE,也不太顺手,所以就用了emacs。

4.配置emacs的CWD,最简单的办法就是在启动emacs的快捷方式中,右键选属性,在Start in那一栏当中填上你要的目录,比如C:\zmz\erlang\home。这样在emacs打开文件时,会默认打开这个目录,否则就是打开emacs的安装目录,那样很不爽。

5.配置emacs环境

创建文件C:\zmz\erlang\home\_emacs,文件内容如下:

     ;; Erlang mode
     (setq load-path (cons  “C:/Program Files/erl5.6.2/lib/tools-2.6.1/emacs“ load-path))
     (setq erlang-root-dir “C:/Program Files/erl5.6.2″)
     (setq exec-path (cons “C:/Program Files/erl5.6.2/bin” exec-path))
     (require ‘erlang-start)

      ;; Emacs client
      (server-start)

6.安装MinGW http://www.mingw.org/download.shtml。 安装选项中确认“MinGW base tools” 和 “MinGW make” 被选中。有了这个就可以使用makefile来编译程序。

把 C:\Program Files\MinGW\bin\mingw32-make.exe 另存一个名为make.exe的文件,存在同一目录下。不是改名,2个.exe都要,至于为什么我不记得了。

7.安装MSYS http://www.mingw.org/download.shtml, 下载MSYS-1.0.10.exe 。安装过程中会问到你的MinGW安装目录,比如C:\Program Files\MinGW。有了这个你就有了个shell环境,可以运行很多UNIX命令。

以上步骤全都在Vista下测试过,全部完成后,就可以很方便的在emacs下用erlang了。另外一个小的tips就是在emacs下选择File->Split window,可以把emacs分成上下2个窗口,一个写程序,另一个开Erlang shell编译调试。

祝大家好运,并预祝牛年大吉大利。

misc , ,

  1. January 15th, 2009 at 19:17 | #1

    我用cygwin + emacs + erlang

  2. January 15th, 2009 at 19:21 | #2

    实用帖。感谢:)

  3. Joo
    January 16th, 2009 at 23:08 | #3

    对我等windows下做web开发的小菜鸟来说,这个贴是相当的实用啊呵呵。不过貌似用上Erlang没有这么麻烦啊,直接一个NetBean 6.5+Erlybird 1.7.0搞定

  4. HuangXi
    March 1st, 2009 at 15:01 | #4

    ezhozhe说自己是初学者,但显然对我等更渣的初学者来说文章还不够“入门”啊!

    对于第2点配置erlang的CWD,我按照《Programming Erlang》和ezhozhe所说,搞了一天都没搞定。最后还是求助于“摆渡”大神才过了河。将我的体会和“真-初学者”交流一下:)

    (主要内容参考自litaocheng大大的http://www.toquick.com/index.php/archives/90)

    1)“.erlang”文件如何创建?

    在Windows的explore里是不能直接创建.erlang文件的,如果文件名仅输入“.erlang”,会弹出错误警告,说什么“必需输入文件名”。但如果输入“.erlang.”(注意最后多了一个.)就能创建出来了。

    当然litaocheng的文档里教大家用erlang创建.erlang文件也是可以的,感兴趣的同学可以试试。

    2).erlang文件究竟放在哪里?

    放在“C:\Program Files\erl5.6.5”里是不行的,要放在“C:\Program Files\erl5.6.2\bin”里,而且erlang快捷键的起始位置不能是默认的“C:\Program Files\erl5.6.2\usr”,也要改为“C:\Program Files\erl5.6.2\bin”。

    修改方法是:
    右键erlang的快捷方式,选择属性 -> 快捷方式 -> 起始位置,设置成erlang安装目录下的bin目录。

    3)注意cd函数里路径分隔用的是’/',而不是’\'。

  5. 黑黑哥哥
    July 18th, 2009 at 13:33 | #5

    我也是初学者。今天也碰到了.erlang文件的问题。
    自己尝试了一下,也解决了,不过跟LS不太一样。

    1 创建
    我是在dos窗口中创建的。
    运行-cmd,在dos窗口中执行echo a > .erlang就可以创建了。然后再打开该文件编辑内容即可。

    2 位置
    我是直接放在erlang快捷方式的起始位置下的。在我的机器上就是C:\Program Files\erl5.7.2\usr。没有挪到别的地方,也没有修改快捷方式的属性。

  6. #$$an
    September 28th, 2009 at 20:31 | #6

    .erlang文件创建
    1,在dos窗口中执行echo a > .erlang
    2,可用任意文本工具另存为就行

    该文件应该放于执行exe文件的同级目录,如果是从开始菜单中进入,则应同快捷方式中的”起始位置”一致

  7. October 19th, 2009 at 16:04 | #7

    支持 HuangXi、黑黑哥哥、#$$an 的内容。
    我也是初学者,请问关于是否有 Erlang 的智能开发工具,Thanks in advance!

  8. eric
    January 26th, 2010 at 13:40 | #8

    1.在erlang shell中输入 init:get_argument(home).可以看到.erlang文件该存放的路径。
    2.我使用但如果输入“.erlang.”(注意最后多了一个.)还是不能创建出来了。
    3.在dos窗口中执行echo a > .erlang,创建成功。谢谢黑黑哥哥。

  9. eric
    January 26th, 2010 at 13:53 | #9

    .erlang文件存放路径。
    1.直接双击werl.exe 或 erl.exe启动erlang时,会先读取exe所在目录下的.erlang,如果没找到会到 init:get_argument(home).指令下看到的路径找。
    2.若使用erlang的快捷方式,选择属性 -> 快捷方式 -> 起始位置的路径中读取.erlang文件,如果没找到会到 init:get_argument(home).指令下看到的路径找。

  1. No trackbacks yet.