2014-06-19 62 views
3

命令當我嘗試做heroku pg:pull DATABASE_URL myappspassword,我得到這個錯誤:CREATEDBHeroku的PG:上拉是給SH:找不到

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做一些特殊的事情才能使它工作(例如導出命令行工具)?

回答

1

你的直覺是正確的。您需要能夠從命令行訪問Postgres。 pg:pull正在嘗試創建一個新的本地數據庫,並從Heroku數據庫中刪除相關數據。 From the docs

This command will create a new local database named 「mylocaldb」 and then pull data from database at DATABASE_URL...

基本上,本地計算機正試圖運行createdb本地,但您的終端是不承認它。

0

我與這個該死的錯誤作了幾個小時的鬥爭。我不能肯定地說這是否適用於所有人,但我發現我的問題源自通過iTerm/ZSH運行命令而不是普通的bash。我打開了一個普通的香草終端,執行命令,並且所有的事情都應該如此。

8

你是在Mac上,偶然還是在使用Postgres App

如果是這樣,問題可能是createdb不在你的路上。嘗試通過在~/.bash_profile中插入以下內容來添加它。

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

然後運行source ~/.bash_profile並重試。

有關Postgres應用網站的更多信息:http://postgresapp.com/documentation/cli-tools.html

+0

完美! [這裏是如何修改'〜/ .bash_profile'](http://stackoverflow.com/a/30462883/5802289)。請注意,版本號可能需要根據安裝的本地版本進行調整。很明顯,但我一開始就錯過了。 – J0ANMM