2013-09-22 59 views
3

我在Ubuntu 12.04上安装了SML。在emacs上运行sml控制台 - 搜索程序:没有这样的文件或目录?

下面是详细信息:

[email protected]:~$ sml -version 
Standard ML of New Jersey v110.75 [built: Mon Sep 2 23:36:16 2013] 

,并添加到emacs的这个包:

M x list-packages + Enter 

找到sml-mode并通过鼠标点击安装。 但是,当我试图写容易.sml文件我想在emacs打开sml控制台。

我按C c + C s =>我看到SML command: sml并按Enter

而且看到这条消息:

Searching for program: no such file or directory 

而不是打开SML控制台。

我想不通为什么会发生这种情况?

  • 如何解决这个问题?

更新:

这里是我的which sml

/usr/local/SML/bin/sml 

和emacs版本 - 从here安装GNU Emacs 24.3.1 但仅用于emacs24,而不是emacs的快照。

+2

适合我。你的Emacs版本是什么? 还要确保'哪个sml'和'(getenv“PATH”)'兼容。 –

+0

@ abo-abo我更新了问题。 'sml和(getenv“PATH”)是兼容的 - 你能解释一下如何检查这个语句吗? –

+2

'(getenv“PATH”)'你应该用'M-:'来评估。或者只需将此代码粘贴到'* scratch *'中,并在声明结束时按'C-j' 。这告诉你Emacs对$ PATH的看法。 您的问题可能是/ usr/local/SML/bin /不在$ PATH上。你可以添加这个到 '〜/ .profile'或其他东西。 –

回答

3

您的问题是sml可执行文件不在Emacs看到的PATH上。 而且您可以从bash启动sml,可能是因为您修改了~/.bashrc中的路径 。

  1. 选项1:修改PATH 在~/.profile(你需要一次注销):

    出口PATH = $ PATH:在/ usr /本地/ SML /斌/

  2. 选项2:创建链接

    须藤LN -s在/ usr /本地/ SML /斌/ SML的/ usr/bin中/同级

  3. 方案3:对我来说容易安装到SML/U SR /斌/(Emacs的知道这条道路)

    命令和apt-get安装smlnj

+0

选项2:创建链接 - 完美的作品 –

4

方案4:评估和演示了具有以下内容:CM-:(setq exec-path (cons "/usr/local/SML/bin" exec-path))返回/输入或放入$home/.emacs以使其坚持所有会话。

+0

这是否意味着输入终端? –

+0

@nazar_art答案已更新 –

1

只是阐述由所述出血手指提到的步骤:

第一步:从终端启动的emacs。

step2:按ctrl + x + f。步骤3:您将在底部说出“Find a file:〜/”,然后写入“/.emacs”。步骤4:在该行中粘贴“setq exec-path(cons”/ usr/local/SML/bin“exec-path))”“这行。

第5步:按Ctrx + x + s保存更改,然后重新启动emacs。

相关问题