系统:El Capitan v10.11.15
安装了Emacs和smlnj
which smlnj
给了我:/ usr / local / bin / sml
调整了我的.bash_profile : export PATH="$PATH:/usr/local/bin/sml"
和.emacs
:
(setenv "PATH" (concat "/usr/local/bin/sml:" (getenv "PATH")))
(setq exec-path (cons "/usr/local/bin/sml" exec-path))
现在当我在sml文件上执行C-c C-s时,它给了我:
搜索程序:没有这样的文件或目录!
任何人都可以帮助我?
答案 0 :(得分:1)
假设您使用自制程序或类似程序来安装emacs和sml。
需要注意的一些事项
您的PATH环境应该是目录路径列表,而不是文件路径,即
export PATH = $ PATH:/ usr / local / bin
。请注意,PATH设置应该使用bash_profile而不是.bashrc。区别在于bash_profile在登录时获取一次,而bashrc是为每个交互式shell提供的,因此最好保持bashrc尽可能小。但是,通过路径设置,还有另一个“问题”。如果您打算从启动板运行emacs,因为启动板不会提供您的bash_profile OR bashrc文件。
有多种方法可以将环境设置转换为luanchpad配置,但PATH设置的最简单解决方案是在全局环境中添加/ usr / local / bin。最简单的方法是在/ etc / paths文件中的一行上添加/ usr / local / bin(您需要使用sudo编辑该文件)。
答案 1 :(得分:0)
2017年1月2日星期一16:44:47 GMT
[无法添加评论,因为只有50个声望点。]
提供的信息中遗漏了一些细节:
$ PATH和exec-path
需要目录 - 而不是sml二进制文件的文件名。
export PATH=$PATH:/usr/local/bin
最好把它放在.bashrc
中(所以它在新启动的shell中可用)
什么版本的emacs
值得注意的是 - which smlnj
应生成smlnj not found
。 (which sml
将生成/usr/local/bin/sml
)