Soru Reaktif komisyonlar varlıkları: üretim öncesi önkoşul


Uygulamamın Heroku'ya dağıtmak için varlıkları önceden derlemeye çalışıyorum, ancak aşağıdaki hatayı almam gerekiyor.

Koşarken:

RAILS_ENV=production bundle exec rake assets:precompile

Hata:

/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets
rake aborted!
Please install the postgresql adapter: `gem install activerecord-postgresql-adapter` (pg is not part of the bundle. Add it to Gemfile.)

Çünkü geliştirme SQLitinde ve üretimde Postgresql aşağıdaki Gemfile

gem "rails", "~> 3.1.0"

group :production do
  gem 'pg'
end

group :development, :test do
  gem 'sqlite3'
end

gem 'sass-rails', "~> 3.1.0"

group :assets do
  gem 'coffee-rails', "~> 3.1.0"
  gem 'uglifier'
  gem 'compass', '~> 0.12.alpha.0'
  gem 'html5-boilerplate'
end

Çok çalıştım ama çalışmayı başaramıyorum.

Bunun önemli olup olmadığını bilmiyorum ama database.yml şöyle görünüyor:

production:
  adapter: postgresql
  host: localhost
  database: db
  encoding: unicode
  username: user
  password: ''

25
2017-10-16 21:33


Menşei


Bunu bir sedir yığını üzerinde denedin mi? heroku create --stack cedar - daniel


Cevaplar:


Eski soru ama kabul edilen cevap gerçekten soruya cevap vermiyor - ve bunu bir aramada buldum, bu yüzden alakalı olduğunu düşünüyorum.

Hatanın nedeni şu: gem 'pg' üretim gem grubunda.
Koştuğunda rake assets:precompile üretim ortamına erişilebilir. Bu yüzden üretim ortamını yüklemeye çalışıyor ama tüm bağımlılıkların yüklü değil.

Koşu RAILS_ENV=production bundle exec rails server muhtemelen size benzer bir hata verir.

İki farklı çözüm düşünebilirim

1) Bir .bundle/config uygulamanızın kökünde dosya. Eğer yaparsan, söyleyip söylemediğini kontrol et. WITHOUT :production veya benzeri. Ya bu çizgiyi veya tümünü kaldırın .bundle dizin ve çalıştır bundle tekrar.

2) içinde Gemfile

gem :development, :production do
  gem 'pg'
end

çıkarırken :production grup
koşmak bundle tekrar

Eski şeyleri kaçırdığım için üzgünüm ...


54
2018-03-22 11:41



Üzgünüm, yanlışlıkla sizi reddettim ama şimdi geri alamıyorum :( - Cevabınızı gerçekten faydalı buldum - Sherwin Yu
@SherwinYu Azalt simgesini tekrar tıkladıktan sonra reddetme iptal edilecek. - David Tuite
@DavidTuite maalesef, eğer bir süre sonra yapamazsınız - cevabınız düzenlenmediği sürece düşüşünüz kilitlenir. - Sherwin Yu
Düzenlediğim bir yeri okudum, yeniden düzenlenebilir @SherwinYu Bunu test edelim! Teşekkürler ChristopheHarris btw - mraaroncruz
@pferdefleisch Cevabınız için teşekkürler. Çözüm 2) benim için çok iyi çalıştı. - egyamado