2013-08-06 25 views
13

Tôi đã cài đặt Postgis và Postgresql thông qua Homebrew trên máy Mac, và tôi muốn nâng cấp phiên bản Postgis lên 2.1.0-rc2. Tôi đã hủy liên kết phiên bản postgis của mình và sau đó chỉnh sửa công thức homebrew postgis. Sau khi công thức mới không biên dịch, tôi relinked công thức cũ và bây giờ tôi nhận được lỗi sau bất cứ khi nào tôi cố gắng gọi một bảng cơ sở dữ liệu với một cột không gian :.Rails Postgis Upgrade Issues

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 

(Tôi không gặp vấn đề này trước khi thực hiện tác vụ trên) Tôi đã khởi động lại máy chủ postgresql và không hoạt động. Tôi không chắc chắn phải làm gì để giải quyết vấn đề này.

Trả lời

20

Ah! Đã khắc phục sự cố bằng cách hoàn nguyên về phiên bản cũ hơn của json-c mà homebrew đã liên kết. (cụ thể là json-c 0,10) nó đơn giản như lệnh sau:

brew switch json-c 0.10 

Hy vọng người khác có thể thấy điều này hữu ích trong tương lai.

+1

Không bao giờ nghĩ đến việc này. Cảm ơn nhiều! –

+0

Cuối cùng, tôi phải chạy hướng dẫn pg_upgrade như được tìm thấy ở đây: http://blog.55minutes.com/2013/09/postgresql-93-brew-upgrade/ Vấn đề là khi tôi chạy 'psql', nó là 9.3 .1, nhưng máy chủ vẫn là 9.2.4. –

+0

Tuyệt vời! Brew bằng cách nào đó nâng cấp json của tôi, làm cho việc cài đặt postgis của tôi vô ích. Vì vậy, tôi đã phải nâng cấp, tôi nghĩ, nhưng ngay cả điều đó không thành công, cuối cùng dẫn đến lỗi này, và giải pháp này. Phew, phao cứu sinh :) – nathanvda

Các vấn đề liên quan