Gặp lỗi: Bạn phải cài đặt ít nhất một gói postgresql-client- <version> khi triển khai cho heroku


91
sdilshod@sdilshod-Lenovo-B590:~/webapp/saturn$ heroku run rake db:migrate
Running `rake db:migrate` attached to terminal... up, run.6194
DEPRECATION WARNING: You have Rails 2.3-style plugins in    vendor/plugins! Support for these plugins will be removed in Rails 4.0.  Move them out and bundle them in your Gemfile, or fold them in to your app  as lib/myplugin/* and config/initializers/myplugin.rb. See the release  notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2- 0-rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7)
DEPRECATION WARNING: You have Rails 2.3-style plugins in  vendor/plugins! Support for these plugins will be removed in Rails 4.0.   Move them out and bundle them in your Gemfile, or fold them in to your app   as lib/myplugin/* and config/initializers/myplugin.rb. See the release   notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-  0-rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7)
 Error: You must install at least one postgresql-client-<version> package.
 rake aborted!
 Error dumping database
 /app/vendor/bundle/ruby/1.9.1/gems/activerecord-   3.2.12/lib/active_record/railties/databases.rake:415:in `block (3 levels)   in <top (required)>'
 /app/vendor/bundle/ruby/1.9.1/gems/activerecord- 3.2.12/lib/active_record/railties/databases.rake:188:in `block (2 levels) in <top (required)>'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.12/lib/active_record/railties/databases.rake:182:in `block (2 levels) in <top (required)>'
Tasks: TOP => db:structure:dump
(See full trace by running task with --trace)

heroku pg: psql hoạt động tốt, nhưng khi tôi di chuyển rake db: di chuyển nó gặp lỗi cần cài đặt ứng dụng khách pg. Tôi cần cài đặt ứng dụng khách pg ở đâu? Mọi sự giúp đỡ


1
Tôi đã tìm thấy [điều này] [1] giải pháp và sửa lỗi [1]: stackoverflow.com/questions/17300341/…
dilshod

Câu trả lời:


203

Trên hệ thống dựa trên Debian, các chương trình khách PostreSQL được cung cấp bởi postgresql-client-common dưới dạng các liên kết tượng trưng tới /usr/share/postgresql-common/pg_wrapper.

Nếu bạn cài đặt gói đó và cố gắng sử dụng bất kỳ chương trình khách PostgreSQL nào như psql , pg_dump , pg_dumpallpg_restore , pg_wrapper mà không cài đặt gói nhị phân phiên bản cụ thể, như postgresql-client-9.1, nó sẽ phát ra lỗi này:

Bạn phải cài đặt ít nhất một gói postgresql-client- <version>

Cách dễ nhất để khắc phục điều này là cài đặt gói siêu ứng dụng postgresql-client . Nó luôn phụ thuộc vào gói máy khách cơ sở dữ liệu hiện được hỗ trợ cho PostgreSQL trên hệ thống dựa trên Debian và nó phụ thuộc vào postgresql-client-common

sudo apt-get install postgresql-client

Cảm ơn đã phản hồi, jla! Có vẻ như lỗi heroku và tôi đã tìm thấy stackoverflow.com/questions/17300341/… để giải quyết
dilshod

Không có gì. Tôi tìm thấy điều này khi tìm kiếm thông báo lỗi "ít nhất một" do sử dụng psql trên dòng lệnh và không sử dụng heroku. Sau khi tôi tìm thấy câu trả lời, tôi muốn để lại bản sửa lỗi Debian cụ thể cung cấp pg_dump và psql đang hoạt động cho lỗi Debian cụ thể như một sự thay thế cho bản sửa lỗi heroku được đề xuất bỏ qua lỗi.
jla

1
chạy sudo apt-get install postgresql-clientqua heroku run bashkhông hoạt động? Nó trở lại bash: sudo: command not found. Tôi còn thiếu gì ở đây?
s2t2

8

Cập nhật ngày 30 tháng 3 năm 2020

Đồng ý với câu trả lời đã chọn, nhưng tôi thấy cài đặt postgresql-client-12 trên Ubuntu 18 có liên quan nhiều hơn một chút.

sudo apt update
sudo apt -y install vim bash-completion wget
sudo apt -y upgrade
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
sudo apt update
sudo apt -y install postgresql-client-12

Xem tài liệu tham khảo này để biết chi tiết.


1
Với Ubuntu 20.04, chỉ dòng cuối cùng của hướng dẫn đã làm được thủ thuật.
Holger Brandl
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.