2013-08-06 136 views
13

我在Mac上通過Homebrew安裝了Postgis和Postgresql,並且我想將我的Postgis版本升級到2.1.0-rc2。我取消了我的postgis版本,然後編輯了postgis自制軟件公式。新公式未編譯後,我重新鏈接舊公式,每當我嘗試使用空間列調用數據庫表時,現在都會收到以下錯誤:Rails Postgis升級問題

PG::UndefinedFile: ERROR: could not load library 
"/usr/local/Cellar/postgresql/9.2.4/lib/postgis-2.0.so": 
dlopen(/usr/local/Cellar/postgresql/9.2.4/lib/postgis-2.0.so, 10): Symbol not found: 
_json_tokener_errors 
Referenced from: /usr/local/Cellar/postgresql/9.2.4/lib/postgis-2.0.so 
Expected in: /usr/local/lib/libjson.0.dylib 
in /usr/local/Cellar/postgresql/9.2.4/lib/postgis-2.0.so 

(我沒有做上述動作之前這個問題)我已經重新啓動我的PostgreSQL服務器,並沒有奏效。我不確定如何解決這個問題。

回答

20

啊!通過恢復到自制軟件鏈接的舊版json-c修復了這個問題。 (特別是json-c 0.10),就像下面的命令一樣簡單:

brew switch json-c 0.10 

希望別人在未來可能會發現它有用。

+1

永遠不會想到這樣做。非常感謝你! –

+0

最終,我不得不運行pg_upgrade指令,如下所示:http://blog.55minutes.com/2013/09/postgresql-93-brew-upgrade/ 問題是,當我運行'psql'時,它是9.3 .1,但服務器仍然是9.2.4。 –

+0

太棒了! Brew以某種方式升級了我的json,使我的postgis安裝無用。所以我不得不升級,我想,但即使如此,最終導致這個錯誤,這個解決方案。唷,救生員:) – nathanvda