Postgres.app 设置:将 `which psql` 获取到 return 所需路径

Postgres.app setup: getting `which psql` to return desired path

我刚刚安装了 Postgres.app,现在 which psql returns 什么都没有。我跟着instructions listed on the Postgres site;这是我所做的:

1) 将我的旧版 Postgres 拖到垃圾箱。清空垃圾箱。

2) 下载了 Postgres.app 的当前版本。将它拖到应用程序文件夹。

3) 重新启动终端。

我从 which psql 寻找的输出是这样的: /Applications/Postgres.app/Contents/Versions/9.3/bin/psql

当我 运行 brew install postgresql 后跟 which psql 时,我得到 /usr/local/bin/psql。这至少是一些东西,但这不是我想要的。

如果它有用,这是我的 .bashrc:

if [ -f ~/.bash_profile ]; then
    source ~/.bash_profile
fi

PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
export DYLD_LIBRARY_PATH="/Applications/Postgres.app/Contents/MacOS/lib:$DYLD_LIBRARY_PATH"

### Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"

rvm get stable --auto-dotfiles

export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting

还有我的.bash_profile:

export PATH=/usr/local/bin:$PATH
export PATH=/usr/local/share/python:$PATH

# Python
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2.7
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
export PIP_VIRTUALENV_BASE=$WORKON_HOME
export PIP_RESPECT_VIRTUALENV=true
if [[ -r /usr/local/share/python/virtualenvwrapper.sh ]]; then
    source /usr/local/share/python/virtualenvwrapper.sh
else
    echo "WARNING: Can't find virtualenvwrapper.sh"
fi

export PS1="\h:\w \u$ "

# for git
LESS="-qrX -P %lt"
export LESS

# colorize shell output
export CLICOLOR=1
export LSCOLORS=Hxfxcxdxbxegedabagacad

#========== ALIASES ===========

alias u="cd .."
alias uu="cd ../.."
alias uuu="cd ../../.."
alias cd..="cd .."
alias rm="rm -i"
alias ll="ls -laFGh"
alias ls="ls -FGh"
alias new="ls -lat | head -15"

# node needs to not have DYLD_LIBRARY_PATH set
alias node="DYLD_LIBRARY_PATH=''; node"

# postgres stuff
PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
export DYLD_LIBRARY_PATH="/Applications/Postgres.app/Contents/MacOS/lib:$DYLD_LIBRARY_PATH"

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

非常感谢!

一个解决方案!对于后代,这对我有用:

1) 将行 export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.4/bin 添加到 .bash_profile。为了进一步阅读,我在 Postgres.app Command Line Tools page.

上找到了这个解决方案

2) 运行 brew uninstall postgresql。这似乎不是最佳选择,因为我稍后肯定会想要它,但在卸载之前,我 运行 which psql.

时得到的是 brew 安装的 postgresql 的路径