2013-12-17 12 views
6

La documentazione qui dice che heroku con le risorse di pre-compilazione durante il deploy in Rails4.Heroku non precompila le risorse per le guide4

Tuttavia, Non vedo il messaggio delle risorse di precompilazione.

 Using thin (1.6.1) 
     Using twitter-bootstrap-rails (2.2.8) 
     Using uglifier (2.3.1) 
     Using will_paginate (3.0.4) 
     Your bundle is complete! It was installed into ./vendor/bundle 
     Bundle completed (1.37s) 
     Cleaning up the bundler cache. 
-----> Writing config/database.yml to read from DATABASE_URL 
     Detected manifest file, assuming assets were compiled locally 
-----> Discovering process types 
     Procfile declares types -> (none) 
     Default types for Ruby -> console, rake, web, worker 

sto affrontando i problemi con il bootstrap nella mia app, in cui la barra di navigazione solito caricato correttamente + alcune altre sfumature e credo che la sua emissione di asset precompilare.

Sto usando Rails4, Ruby2.0

ho attivi abilitati nel application.rb

config.assets.enabled = true 

precompilazione manualmente non ha aiutato

heroku run rake assets:precompile 

risposta

1

Eliminazione pubblico/patrimonio cartella aiutato . Inoltre ho gestito heroku eseguire asset rake: pulito.

After that I could see: 
----> Writing config/database.yml to read from DATABASE_URL 
-----> Preparing app for Rails asset pipeline 
     Running: rake assets:precompile 

Ora la barra di caricamento funziona correttamente!

4

Ho faticato con la pipeline di asset per un po '. Sembra che ci sia un po 'di confusione su come funziona la pipeline degli asset tra i nuovi Rubyists. Nella mia esperienza, questo è il mio flusso di lavoro per la pipeline di asset per Heroku.

  • Assicurarsi che le attività funzionano localmente su localhost (obbligatoria per Heroku)
  • eliminare la cartella pubblica/Attività nella directory Rails con rm -rf ./public/assets
  • Crea una nuova directory attivi con mkdir public/assets
  • Eseguire il rake assets:precompile comando
  • Si dovrebbe vedere un elenco di beni precompilati nella riga di comando
  • Una volta che le risorse sono precompilate, è necessario eseguire il commit e modifiche tramite i seguenti comandi: git add -A poi git ci -am "commit message goes here"
  • Infine, spinta a Heroku via git push heroku master

NOTA: questa la pena ripeterlo - assicurarsi che il proprio patrimonio lavorano normalmente su localhost prima di spingere a Heroku.

13

Aveva lo stesso problema. Avevo precompilato localmente per qualche motivo e poi spinto a Heroku.

Saw Heroku fornisce la riga "Rilevato file manifest, supponendo che le risorse siano state compilate localmente", il che mi ha fatto capire che non era la precompilazione di tutte le cose.

Quando ho fatto un "git add". e impegnato, ho visto che stava aggiungendo un sacco di file pubblici. Spingendolo a Heroku, ha funzionato. Quindi ho dovuto precompilare e aggiungere git ogni volta, fondamentalmente facendo il lavoro di Heroku e facendo un casino nella mia cartella pubblica. Ha fatto il lavoro, ma era una soluzione scadente.

Ho cercato il "manifest" che heroku ha menzionato e alla fine ho trovato un file ".sprockets-manifest ..." nella directory pubblica.

Cancellato quello e Heroku era ancora una volta amico mio.

Ho trovato questa domanda come parte della mia ricerca, quindi ho pensato di condividere ciò che ho trovato nel caso in cui qualcun altro lo vedesse o avesse pensieri elaborativi.

adesso devo andare a vedere se .sprockets-manifesto era importante per qualsiasi altra cosa ....

+0

Ricordate che 'file di .sprockets-manifest' è nascosto :) –

+0

Questa dovrebbe essere la risposta accettata –

+0

salvato la mia vita qui. non rendersi conto che questo è stato persino spinto al repo. Grazie! – SVetter

Problemi correlati