【问题标题】:psql: command not found Macpsql:找不到命令 Mac
【发布时间】:2016-07-09 09:20:25
【问题描述】:

我通过http://www.postgresql.org/download/macosx/上的图形安装安装了PostgreSQL

我在我的应用程序中看到它,并且在我的应用程序中也有 psql 终端。我需要 psql 在常规终端中为我正在为应用运行的另一个 bash 脚本工作。

由于某种原因,当我跑步时

psql

在 Mac 终端中,我的输出是

-bash: psql: command not found

我在终端中运行了以下内容:

locate psql | grep /bin

输出是

/Library/PostgreSQL/9.5/bin/psql

然后我编辑了我的 ~/.bash_profile 并将其添加到路径中,如下所示:

export PATH = /Library/PostgreSQL/9.5/bin/psql:$PATH

~/.bash_profile 中唯一的另一件事是 SDK man,它位于脚本的底部,正如它所说的那样。我也尝试将浴缸设置为 /Library/PostgreSQL/9.5/bin/。我也重启了终端。

如何让 psql 工作?

编辑 添加到.bashrc后,打开终端时返回此输出

-bash: export: `/Library/PostgreSQL/9.5/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin': not a valid identifier

【问题讨论】:

  • 您的 PATH 有点错误。您需要 “包含目录” 的 PATH,而不是实际的可执行文件。您的 PATH 应该是 export PATH=/Library/PostgreSQL/9.5/bin:$PATH - 没有额外的 psql 位。此外,您必须删除等号周围的空格。
  • @MarkSetchell 我也试过了,它仍然返回 psql: command not found
  • 你能给出echo $PATH的输出吗?
  • /Users/name/.sdkman/candidates/grails/current/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
  • 我刚刚添加了一个编辑 - 路径有问题。

标签: macos bash postgresql psql


【解决方案1】:

.bashrc 中修改您的PATH,而不是在.bash_profile 中:

http://www.gnu.org/software/bash/manual/bashref.html#Bash-Startup-Files

【讨论】:

  • 我也添加到 .bashrc - 仍然返回相同的输出。
  • 标记了有用的信息,虽然它没有解决我的具体问题。感谢您的帮助。
  • 是的,在马克指出这一点之前,我没有发现你的PATH 行中的多余空格。 :-) 很高兴我能帮上忙。
【解决方案2】:

您的 PATH 有点错误。您需要 “包含目录” 的 PATH,而不是实际的可执行文件本身。

你的 PATH 应该这样设置:

export PATH=/Library/PostgreSQL/9.5/bin:$PATH

没有额外的sql 部分。此外,您必须删除等号周围的空格。

关键字:Postgresql、PATH、macOS、OSX、psql

【讨论】:

  • 重启你的终端,可能就是这样
  • 永远,永远,永远不要忘记此命令末尾的:$PATH,否则它会撞到风扇并瘫痪外壳:p
  • @Luffydude 问题是免费的。随意问一个新的,我们会尽力帮助。
  • 其实没有意识到我需要安装一些东西,现在它可以工作了,谢谢:)
  • 对于 Mojave 用户:export PATH=/usr/local/opt/postgresql@9.5/bin:$PATH
【解决方案3】:

来自 Postgres documentation page:

sudo mkdir -p /etc/paths.d && echo /Applications/Postgres.app/Contents/Versions/latest/bin | sudo tee /etc/paths.d/postgresapp

重启你的终端,它就会出现在你的路径中。

【讨论】:

  • 说明还说“当然,您也可以直接编辑 .profile 文件。”在我使用 Postgres 10 在 MacOS 10.12 Sierra 上执行此操作之前,我的 cli 安装不起作用(sudo 命令对我不起作用):vi ~/.profile add this line: export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/10/bin .source ~/.profile
【解决方案4】:

2017 年 10 月答复

运行

export PATH=/Library/PostgreSQL/9.5/bin:$PATH

然后重启你的终端。

【讨论】:

    【解决方案5】:

    在您的主文件夹中打开文件.bash_profile。这是一个隐藏文件。

    将此路径添加到 .bash_profile 文件中的末尾导出 PATH 行 :/Applications/Postgres.app/Contents/Versions/latest/bin

    符号: 分隔路径。

    示例:

    如果文件包含: export PATH=/usr/bin:/bin:/usr/sbin:/sbin

    它会变成: export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/Applications/Postgres.app/Contents/Versions/latest/bin

    如何显示隐藏文件

    在终端中,粘贴以下内容:defaults write com.apple.finder AppleShowAllFiles YES

    【讨论】:

      【解决方案6】:

      如果有人在 Mojave 或更高版本中使用自制软件:

      export PATH=/usr/local/opt/postgresql@9.5/bin:$PATH
      

      根据需要更改版本!

      【讨论】:

        【解决方案7】:

        对我来说这很有效:

        1. 下载应用程序:https://postgresapp.com/downloads.html

        2. 运行命令来配置 $PATH - 请注意,它对我不起作用。 https://postgresapp.com/documentation/cli-tools.html

        3. 手动将其添加到 .bash_profile 文档中:

          cd  # to get to your home folder
          open .bash_profile  # to open your bash_profile
          

          在您的 bash 个人资料中添加:

          # Postgres
          export PATH=/Applications/Postgres.app/Contents/Versions/latest/bin
          

          保存文件。重启终端。键入“psql”。完成。

        【讨论】:

          【解决方案8】:

          作为一个 postgreSQL 新手,我发现 postgresql 站点上的 os x 设置说明难以理解。我得到了各种各样的错误。幸运的是,卸载程序运行良好。

          cd /Library/PostgreSQL/11; open uninstall-postgresql.app/
          

          然后我从 brew install 重新开始,然后是这篇文章 How to setup PostgreSQL on MacOS

          现在可以正常使用了。

          【讨论】:

            【解决方案9】:

            Mojave,Postgres 是通过

            安装的
            brew install https://raw.githubusercontent.com/lembacon/homebrew-core/bede8a46dea462769466f606f86f82511949066f/Formula/postgresql@9.6.rb
            

            如何在你的路径中获取 psql:

            brew link postgresql@9.6 --force
            

            【讨论】:

              【解决方案10】:

              如果 Postgres 已下载并安装,运行它应该可以解决问题:

              sudo mkdir -p /etc/paths.d &&
              echo /Applications/Postgres.app/Contents/Versions/latest/bin | sudo tee 
              /etc/paths.d/postgresapp
              

              重启终端就可以使用psql命令了。

              参考:https://postgresapp.com/documentation/cli-tools.html

              【讨论】:

                【解决方案11】:

                如果 Postgresql 是从官方网站下载的。安装后,运行这些命令帮助我解决了 psql 问题。

                使用cd ~ 转到您的主目录

                在您的主目录中,运行ls -a。使用 vim

                编辑 .bash_profile 文件

                vi .bash_profile 打开 vim 编辑器。

                在编辑器上按i 插入。

                添加export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/<Version Number>/bin

                Version Number 是指本地机器上安装的 postgresql 的版本号。就我而言,版本 12 已安装,所以我输入了

                export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/12/bin .

                esc 键并按:wq 退出编辑器。

                在终端中输入source .bash_profile 以读取并执行刚刚在当前shell 脚本中作为参数传递的文件的内容。

                运行psql

                terminal result

                总结:

                • cd ~
                • vi .bash_profile
                • export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/12/bin 记下版本号
                • exit vim
                • source .bash_profile
                • psql 工作?

                【讨论】:

                • +1,不明白为什么这么忙,为什么不在 UI 安装过程中自动设置呢
                【解决方案12】:

                我知道其他一些人已经提到需要更新路径,但是对我来说它不起作用直到我将路径本身添加到引号中。我不是 100% 确定为什么会发生这种情况,但这是对我有用的命令(在 MacOS 终端上)

                export PATH="/usr/local/opt/postgresql@9.5/bin:$PATH"
                

                【讨论】:

                  猜你喜欢
                  • 2021-12-20
                  • 2021-06-19
                  • 2013-03-12
                  • 1970-01-01
                  • 2015-12-21
                  • 1970-01-01
                  • 2020-05-13
                  • 1970-01-01
                  • 2019-06-14
                  相关资源
                  最近更新 更多