2009-08-10 95 views

回答

7

我猜$PATH在emacs bash shell中有所不同。您可以通过在每个中运行此命令来检查它。

echo $PATH 

这是用于查找命令的查找路径。你需要在/ opt/local/bin中加入。

export PATH="/opt/local/bin:$PATH" 

地方该行的~/.bashrc的文件里,它应该通过庆典在Emacs使用时有所回升(除非它被不同的用户或东西下运行)。


更新:

由于Singletoned在评论中提到的,Emacs的不会加载~/.bash_profile~/.profile但终端会。这个文件可能已经包含这个定义,导致两者有不同的行为。

我建议将PATH定义从bash_profile文件移到bashrc。但是,如果bash_profile存在,终端将不会加载bashrc

解决方案是将此添加到~/.bash_profile

if [ -f ~/.bashrc ]; then 
    . ~/.bashrc 
fi 

然后,您可以移动其他一切bashrc将被纳入bash_profile

+0

太棒了,这个问题困扰了我很长时间。 – dMix 2009-08-10 20:44:27

+0

为了澄清这一点,当Emacs启动一个bash会话时,它将运行.bashrc,但不是.profile或.bash_profile。终端运行.bashrc和.profile或.bash_profile之一。这就是为什么你有不同的路径。 – Singletoned 2009-08-11 14:50:48

+0

感谢Singletoned,更新了答案以反映这一点。 – ryanb 2009-08-11 15:18:36