当我尝试heroku pg:pull DATABASE_URL myappspassword
时,我收到此错误:
my-computer:a-folder (master*) · heroku pg:pull DATABASE_URL myappspassword
! sh: createdb: command not found
!
! Unable to create new local database. Ensure your local Postgres is working and try again.
一旦谷歌搜索没有返回结果。我想知道这是否与我which psql
时没有结果有关。也许我需要用pgAdmin做一些特别的事情才能使它工作(例如导出命令行工具)?
答案 0 :(得分:10)
您是否在Mac上,偶然使用Postgres App?
如果是这样,问题可能是createdb
不在您的路径上。尝试通过将以下内容插入~/.bash_profile
来添加它。
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.4/bin
然后运行source ~/.bash_profile
并重试。
Postgres App网站上有更多信息:http://postgresapp.com/documentation/cli-tools.html
答案 1 :(得分:1)
你的直觉是正确的。您需要能够从命令行访问Postgres。 pg:pull
正在尝试创建新的本地数据库,并将Heroku数据库中的相关数据放入其中。 From the docs:
此命令将创建一个名为“mylocaldb”的新本地数据库,然后从DATABASE_URL数据库中提取数据......
基本上,您的本地计算机正在尝试在本地运行createdb
,但您的终端无法识别它。
答案 2 :(得分:0)
我和这个该死的错误斗争了几个小时。我无法肯定地说这是否适合所有人,但我发现我的问题源于通过iTerm / ZSH而不仅仅是正常的bash运行命令。我打开了普通的香草终端,运行了命令,一切都按照它应该发射出来。