Tôi có ứng dụng đang chạy Ruby 1.9.2, Rails 3 và postgreSQL 8.3. Ban đầu nó được thiết lập và làm việc với postgreSQL 9.1, nhưng tôi đã gỡ cài đặt 9.1 và cài đặt và thay đổi thành 8.3 khả năng tương thích bảo mật trên thiết lập cơ sở dữ liệu được chia sẻ Heroku. Nó được chạy ok, nhưng nó không phải bây giờRuby on Rails/PostgreSQL - Thư viện không được tải lỗi khi khởi động server- libq.5.dylib
Bây giờ, khi làm việc trên ứng dụng này, khi tôi chạy một nâng cấp cơ sở dữ liệu tôi nhận được lỗi này:
dlopen(/Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle, 9): Library not loaded: libpq.5.dylib
Referenced from: /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle
Reason: no suitable image found. Did find:
/usr/lib/libpq.5.dylib: no matching architecture in universal wrapper - /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle
Và khi tôi cố gắng để chạy các máy chủ tôi có được điều này thông báo lỗi:
/Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg.rb:4:in `require': dlopen(/Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle, 9): Library not loaded: libpq.5.dylib (LoadError)
Referenced from: /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle
Reason: no suitable image found. Did find:
/usr/lib/libpq.5.dylib: no matching architecture in universal wrapper - /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg.rb:4:in `<top (required)>'
from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `require'
from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `each'
from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `block in require'
from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `each'
from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `require'
from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler.rb:122:in `require'
from /Users/michaeljmccoy/www/mikemccoy/config/application.rb:7:in `<top (required)>'
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.0.rc2/lib/rails/commands.rb:53:in `require'
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.0.rc2/lib/rails/commands.rb:53:in `block in <top (required)>'
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.0.rc2/lib/rails/commands.rb:50:in `tap'
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.0.rc2/lib/rails/commands.rb:50:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
Tôi biết chúng là những lỗi rất giống nhau và có thể phải thực hiện với một đường dẫn bị thiếu. Tuy nhiên, khi tôi thêm đường dẫn đến tệp .profile của tôi và khởi động lại cửa sổ đầu cuối, tôi nhận được các lỗi tương tự.
Điều khiển 'PATH' của bạn nơi vỏ tìm kiếm tệp thi hành. 'LD_LIBRARY_PATH' của bạn kiểm soát nơi vỏ tìm kiếm thư viện. Điều đó nói rằng, điều này có vẻ với tôi như đá quý pg của bạn đã được biên soạn với một phiên bản thư viện PostgreSQL khác với phiên bản bạn có bây giờ. Bạn có thể chỉ cần cài đặt lại pg. –
Tôi đã loại bỏ đá quý pg hiện tại và đang cố gắng cài đặt lại, tuy nhiên tôi nhận được những gì có vẻ là một lỗi khá phổ biến về việc thiếu thư viện postgres. Dưới đây là những gì tôi thấy: 'kiểm tra pg_config ... có Sử dụng giá trị cấu hình từ /Library/PostgreSQL/8.3/bin/pg_config kiểm tra cho libpq-fe.h ... có kiểm tra cho libpq/libpq -fs.h ... có kiểm tra pg_config_manual.h ... có kiểm tra PQconnectdb() trong -lpq ... không kiểm tra PQconnectdb() trong -llibpq ... no kiểm tra PQconnectdb() trong -ms/libpq ... no Không thể tìm thấy thư viện máy khách PostgreSQL (libpq) *** extconf.rb không thành công *** –
Tôi nhớ phải giải quyết điều này tại một số điểm trong quá khứ, và nó được tính đến phải tự cung cấp cờ cho người xây dựng đá quý để cho biết nơi tìm tiêu đề và thư viện, Tôi không có thông tin ngay bây giờ. –