Emacs M-x 项找不到 node/coffee

Emacs M-x term can't find node/coffee

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

所以,我在 ZSH 和 Bash 上打开终端。 coffeenode 运行 两者都很好。所以,拆分我的 emac 屏幕,plink 出 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 上,我该如何解决它。

我在@Etan Reisner 和@Akira 的帮助下找到了一个解决方案(谢谢大家!),所以我将 post 放在这里。我也会等待其他可能想要扩展这个答案的人,然后再给自己所有的功劳。

首先,使用 which coffee 可能会发现,coffee 位于 /usr/local/bin 中。出于某种原因,M-x term$PATH 不包含该目录,而终端 bash 包含该目录。

我们可以通过将此行添加到我们的 .emacs:

来将 /usr/local/bin 添加到 emacs 的 $PATH
(setenv "PATH" (concat (getenv "PATH") ":/usr/local/bin"))

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

bash-3.2$ coffee
coffee> 

但是,我注意到 运行ning M-x coffee-repl 仍然失败 'no such file or directory: coffee'。这可以通过将其添加到 .emacs:

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

请注意,这并没有解决 REPL 中难看的颜色转义序列的问题。啊,好吧,那就解决了elsewhere。此外,M-x ansi-term 所以 颜色更好。