2009-08-10 49 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