2011-12-19 1 views
39

Stavo compilando la mia pipeline di asset per il mio ambiente di produzione e lo è stato per tutti i miei ambienti. Come posso decomprimere la mia pipeline di asset per il mio ambiente di sviluppo?Pipeline di asset di sviluppo non competitivo

Ho controllato il mio ambiente di configurazione/sviluppo e non sono riuscito a trovare una soluzione.

Grazie in anticipo per qualsiasi aiuto ...

risposta

80

per rimuovere le attività precompilati utilizzano:

rake assets:clean 

Quello che fa in sostanza è rimuovere la directory public/assets. Potrebbe essere necessario includere la variabile RAILS_ENV se è necessario eseguirla per un determinato ambiente.

+10

Questo non ha funzionato per me. Ho dovuto rilasciare 'RAILS_ENV = pacchetto sviluppo rake asset: clean'. – Tass

+1

inoltre, assicurati di svuotare la cache del browser. anche dopo aver riavviato il server, le pagine pubblicate possono ancora includere una copia memorizzata nella cache del file application.js compilato. – Michael

+3

Nessuno dei due ha lavorato qui, ha dovuto rimuovere l'intera cartella 'public/assets'. –

5

Quando si esegue l'attività di compilazione a livello locale (sul computer di sviluppo) le attività sono compilati in ambiente di produzione Rails, ma vengono scritti nella cartella pubblica.

Ciò significa che anche quando si esegue la modalità di sviluppo verranno utilizzate le risorse compilate anziché inviare richieste alla pipeline. Questo è normale comportamento: le richieste vanno solo alla pipeline se il file non esiste in public/assets.

Generalmente, l'attività di compilazione deve essere utilizzata solo durante la distribuzione e sul computer remoto (di produzione).

Se è stato compilato localmente, è possibile eliminare tutti i file nella cartella public/assets e lo sviluppo si comporterà come prima. Se hai controllato questi file nel controllo del codice sorgente dovrai rimuoverli.

Una volta rimosse le cose dovrebbe funzionare bene. s Un consiglio finale: se si tratta di un'app aggiornata, verificare le impostazioni di configurazione rispetto a quelle presenti nella guida della pipeline degli asset di Rails nello last section.

+1

Almeno questa risposta non si limita a fornire un codice di risposta di una riga, ma i tentativi spiegare. – jasonleonhard

32

Provare a utilizzare

rake assets:clobber 

ha lavorato per me in rotaie 4

+0

Cura di spiegare perché funziona? Fino a quel momento non posso votare la tua risposta e francamente poche persone lo faranno, PERCHE 'le risposte dovrebbero aiutare le persone a capire il problema, non solo a fornire una linea di codice. – jasonleonhard

+0

Elimina le risorse compilate. Puoi anche rimuoverli manualmente, questa è solo una scorciatoia. – mattecalcio

0

Per Rails 5:

$ RAILS_ENV=development bin/rake assets:clobber