2013-09-22 56 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。

相關問題