Come inizializzare rapidamente l'ambiente di sviluppo del progetto Ruby?
Domanda
Come specificare le dipendenze gemma in modo che l'utente con solo ruby, rake e rubygem installati possa emettere un singolo comando rake per installare tutte le dipendenze richieste? È possibile utilizzare la stessa specifica di dipendenza quando si costruisce gem con GemBuildTask?
Soluzione
In realtà è abbastanza facile impostare un'attività di rake che installa un mucchio di gemme:
task :install_gems do
require "rubygems"
require "rubygems/dependency_installer"
installer = Gem::DependencyInstaller.new
[["rack"], ["merb-core", "1.0.12"]].each do |args|
installer.install(*args)
end
end
Ovviamente, potresti estrarlo in un metodo e scrivere un modo più carino per specificare le tue dipendenze, ma questo dovrebbe funzionare alla grande.
Altri suggerimenti
Penso che attualmente dovresti scrivere un'attività di rake personalizzata che parla con la libreria Gem.
È possibile che rip , il (molto) nuovo bambino sul blocco, farà tutto più facile, ma è molto presto.
Ma qualcun altro potrebbe avere un modo migliore ...
Se la tua app è confezionata come gemma, potresti aggiungere le dipendenze a gemspec e rubygems tenterà di installarle quando installi la gemma.
Ci sono molti modi per ottenere una gemma da un codice rubino. Di recente ho iniziato a utilizzare gioielliere .
Con esso, puoi installare un progetto come gemma eseguendo rake install
. Ci sono alcune istruzioni su come fare dipendenze dal suo wiki github.