来自Heroku docs:
psql的OS X版本应该指向包含的路径 Postgres.app目录。例如,如果您使用的是版本9.5,那么 输出看起来类似于:
$ which psql
/Applications/Postgres.app/Contents/Versions/latest/bin/psql
我想第一个问题是这里发生了什么?为什么这会在别的地方呢?但它是。在我从Postgress docs:
执行建议的修复后如果您使用的是bash(OS X上的默认shell),请添加以下行 到〜/ .bash_profile:
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin
我仍然得到:
$ which psql
/usr/local/bin/psql
其他所有东西似乎都按预期工作,但我不能直截了当!我能想到的其他信息包括我在下载应用版本9.5.3之前安装了Homebrew。
编辑:发现了更多信息。在/ usr / local / bin /里面,所有文件都是别名!不幸的是,他们去了/usr/local/Cellar/postgresql/9.5.3/bin,根据上面提到的Heroku文档,这仍然是错误的。为什么还需要为什么呢?我该如何更新?
编辑编辑:更多信息。这是我的路径变量:
$ $ PATH -bash:/Users/ME/.rvm/gems/ruby-2.2.2/bin:/Users/ME/.rvm/gems/ruby-2.2.2@global/bin:/Users/ME/.rvm/rubies /ruby-2.2.2/bin:/usr/local:/usr/local/bin:/usr/local/sbin:/usr/bin:":/usr/local/bin:/usr/bin:/bin: /usr/sbin:/sbin:/Applications/Postgres.app/Contents/Versions/latest/bin":/Users/ME/.rvm/bin:没有这样的文件或目录
所以它看起来像一个优先问题,这实际上是Homebrew和App之间的潜在问题。再提出两个问题,为什么会这样呢?这甚至重要吗?
答案 0 :(得分:0)
尝试将可执行文件移出垃圾箱暂时,直到您找到更永久的修复程序。 sudo mv /usr/local/bin/psql ~/psql.backup
并再次尝试which psql
。可能/usr/local/bin
优先于您设置的自定义路径。