首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bash in Emacs + OSX找不到通过terminal.app安装的gem?

Bash in Emacs + OSX找不到通过terminal.app安装的gem?
EN

Stack Overflow用户
提问于 2009-08-10 13:57:20
回答 1查看 1.1K关注 0票数 3

我在osx上的emacs中运行bash,它从一个不同于terminal.app的地方提取gems。

在bash中:

代码语言:javascript
复制
which gem
/usr/bin/gem

在终端中:

代码语言:javascript
复制
which gem
/opt/local/bin/gem

如何更改bash以匹配终端?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-08-10 14:46:18

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

代码语言:javascript
复制
echo $PATH

这是用于查找命令的查找路径。您需要将/opt/local/bin包含在其中。

代码语言:javascript
复制
export PATH="/opt/local/bin:$PATH"

将该行放在~/.bashrc文件中,在emacs中使用它时,它应该被bash拾取(除非它是在不同的用户或其他用户下运行的)。

更新:

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

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

解决方案是将其添加到~/.bash_profile中。

代码语言:javascript
复制
if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi

然后,您可以将所有其他内容移动到将包含在bash_profile中的bashrc中。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1255050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档