3
我在OSX emacs的運行bash和來自不同的地方拉寶石然後terminal.app在Emacs + OSX中找不到通過terminal.app安裝的gems?
在bash:
which gem
/usr/bin/gem
在終端:
which gem
/opt/local/bin/gem
如何改變該bash匹配終端?
我在OSX emacs的運行bash和來自不同的地方拉寶石然後terminal.app在Emacs + OSX中找不到通過terminal.app安裝的gems?
在bash:
which gem
/usr/bin/gem
在終端:
which gem
/opt/local/bin/gem
如何改變該bash匹配終端?
我猜$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
。
太棒了,這個問題困擾了我很長時間。 – dMix 2009-08-10 20:44:27
爲了澄清這一點,當Emacs啓動一個bash會話時,它將運行.bashrc,但不是.profile或.bash_profile。終端運行.bashrc和.profile或.bash_profile之一。這就是爲什麼你有不同的路徑。 – Singletoned 2009-08-11 14:50:48
感謝Singletoned,更新了答案以反映這一點。 – ryanb 2009-08-11 15:18:36