2011-10-16 17 views
25

Uygulamamın Heroku'ya dağıtmak için varlıkları önceden derlemeye çalışıyorum ancak aşağıdaki hatayı almam gerekiyor.Rails rake öğeleri: üretim öncesi önkoşul

çalıştırırken:

RAILS_ENV=production bundle exec rake assets:precompile 

Hata: 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 

gelişme SQLite'ta ve üretim Postgresql kullanmak Çünkü ben çok denedim ama

/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.) 

can' Bu işe yarıyor.

bu önemli ama benim database.yml nasıl görünüyorsa bilmiyorum:

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

bir sedir yığın denedim ... yine eski şeyler getirmek için üzgünüm

:production grup
koşmak bundle kaldırılırken? ne yazık ki aslında yanıtın yararlı – daniel

cevap

54

Eski soruya ancak kabul cevabı gerçekten soruya cevap vermez - ve ben sadece bir aramada buldum Bu yüzden alakalı olduğunu düşünüyorum.

Hata nedeni, gem 'pg' üretim gem grubunda olmasıdır.
rake assets:precompile çalıştırdığınızda, üretim ortamına erişilir. Bu nedenle, üretim ortamını yüklemeye çalışıyor ancak bağımlılıkların tümü yüklü değil.

RAILS_ENV=production bundle exec rails server'un çalıştırılması, muhtemelen size benzer bir hata verecektir.

İki farklı çözümler

1) uygulamanızın kök bir .bundle/config dosya olup olmadığını görmek için bak düşünebilirsiniz. Bunu yaparsanız, WITHOUT :production ya da benzerlerini kontrol edin. Bu satırı veya tüm .bundle dizini kaldırın ve yeniden bundle çalıştırın.

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

Gemfile yılında

2)

+4

Üzgünüm :(yanlışlıkla seni downvoted ama şimdi bunu geri olamaz --stack cedar' oluşturmak Eğer bir süredir olsaydınız, cevabınız düzenlenmediyse, downvote'unuz kilitlenir –

+0

@SherwinYu Sadece tekrar downvote simgesini tıklayın ve downvote iptal edilecektir bulundu –

+0

@DavidTuite -. 'Heroku –

İlgili konular