Rake e Thor hanno scopi diversi.
Rake è uno strumento di script di generazione generale specifico del progetto. In altre parole, metti il tuo rakefile nella cartella del progetto e nel controllo del codice sorgente del tuo progetto, e puoi creare, costruire e svolgere altre attività di automazione specifiche per il tuo progetto in quel rakefile. Rake richiede un rakefile per essere eseguito.
Thor è uno strumento di scripting a riga di comando per uso generico che rende molto facile riutilizzare gli script su molti progetti e per eseguire la configurazione del progetto, ecc., Come si suggerisce. Thor ti consente di "installare" uno script eseguibile che puoi chiamare da qualsiasi punto del tuo sistema, in modo simile a chiamare le linee di comando "ruby
", "gem
" o "rake
". Tuttavia, gli script di Thor sono più adatti all'automazione cross-application, poiché lo script Thor non si basa su un file che si trova nella cartella specifica del progetto. Uno script Thor è l'intero script, confezionato e installato per essere riutilizzato ovunque.
In base alle esigenze dichiarate, è meglio usare Thor perché è possibile installare lo script in un'unica posizione e farlo funzionare in qualsiasi punto del sistema. Non sarai vincolato a dove si trova un file Rake o qualcosa del genere.
A proposito, Rails 3 utilizza Thor per praticamente tutto ciò che non è specifico del progetto. Hai ancora un file Rake e continui ad eseguire operazioni come "rake db:migrate
" o "rake test:units
". Thor è usato per cose come "", "rails server
" e "rails generate ...
" L'uso di Thor AND Rake in Rails 3 è l'illustrazione perfetta di dove ognuno di questi strumenti è più adatto.
fonte
2010-08-20 14:22:16
Anche se la risposta di @ derick-bailey è un'ottima spiegazione di Rake contro Thor, probabilmente dovresti esaminare uno strumento di gestione della configurazione come Chef o fantoccio per la maggior parte delle attività di installazione del sistema (aggiorna ubuntu, installa i pacchetti, ecc.). Dovresti anche dare un'occhiata a Capistrano per distribuire l'app per i tuoi binari. Rake non sono i migliori strumenti per tutte queste attività – edhurtig