Emacs Mx术语无法find节点/咖啡

我一直在mac-emacs上徘徊,而且我有Mx install-package -d咖啡模式。 我决定尝试一下coffee-compile-file命令,但是当我运行它时,它失败了,抱怨找不到coffee命令。

所以我打开ZSH和Bash的terminal。 coffeenode运行良好。 所以,分割我的emacs屏幕,眨出Mx term ,让bash加载,然后inputcoffee

 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 

我的问题是, 为什么这只发生在Mx term ,我该如何解决。

我在@Etan Reisner和@Akira的帮助下find了一个解决scheme(谢谢你们),所以我会在这里发布。 我也等待其他人可能想扩大这个答案,然后给自己所有的信贷。

首先,正如使用which coffeecoffee位于/usr/local/bin 。 出于某种原因, Mx term$PATH不包括该目录,而terminalbash。

我们可以通过将这一行添加到我们的.emacs来将/usr/local/bin添加到emacs的$PATH

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

现在,当我打开Mx term ,运行咖啡,它工作正常:

 bash-3.2$ coffee coffee> 

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

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

请注意,这并不能解决REPL中难看的颜色转义序列的问题。 啊,那是在别处解决的。 另外, Mx ansi-term在颜色方面效果更好。

看看这个包,它的README解释了这一切

https://github.com/purcell/exec-path-from-shell