Emacs M-x术语无法找到节点/咖啡

时间:2015-02-27 21:10:42

标签: node.js bash emacs

我一直在寻找mac-emacs,我已经M-x install-package - 咖啡模式。我决定尝试coffee-compile-file命令,但是当我运行它时,它失败了,抱怨它无法找到coffee命令。

所以,我在ZSH和Bash上打开终端。 coffeenode两者都运行良好。所以,拆分我的emacs屏幕,plink out M-x term,让bash加载,然后输入coffee

bash-3.2$ coffee 
bash: coffee: command not found

奇。我为节点和npm做了同样的尝试。

bash-3.2$ node
bash: node: command not found
bash-3.2$ npm
bash: npm: command not found

我的问题是,为什么仅在M-x term上发生这种情况,我该如何解决呢。

1 个答案:

答案 0 :(得分:2)

我在@Etan Reisner和@Akira的帮助下找到了解决方案(谢谢大家!),所以我会在这里发布。在给自己所有的信任之前,我还会等待其他可能想要扩展这个答案的人。

首先,正如人们可能会发现使用which coffeecoffee位于/usr/local/bin。由于某些原因,M-x term $PATH不包含该目录,而终端bash则包含该目录。

我们可以将/usr/local/bin添加到emacs' $PATH将此行添加到我们的.emacs

(setenv "PATH" (concat (getenv "PATH") ":/usr/local/bin"))

现在,当我打开M-x term并运行咖啡时,它运作正常:

bash-3.2$ coffee
coffee> 

但是,我注意到运行M-x coffee-repl仍然失败,没有这样的文件或目录:coffee' 。这可以通过将其添加到.emacs

来解决
(setq exec-path (append exec-path '("/usr/local/bin")))

注意,没有解决REPL中难看的颜色转义序列的问题。啊,好吧,那解决了elsewhere。此外,M-x ansi-term使 更好地使用颜色。