Come si usa Capistrano congelato parte 2?
-
19-08-2019 - |
Domanda
In seguito a la mia domanda sull'uso di Capistrano congelato un paio di giorni fa Riscontro ancora problemi con Capistrano bloccato nella cartella del mio fornitore.
Quando provo ad eseguire la mia versione congelata di cap
ruby -r rubygems ./vendor/gems/capistrano-2.5.2/bin/cap deploy-with-migrations
Ricevo un errore
... RubyGem version error: net-ssh(1.0.8 not >= 2.0.0) (Gem::LoadError) ...
Ho net-ssh-2.0.4 bloccato nella cartella del mio fornitore poiché sapevo che era una dipendenza, quindi come posso utilizzarlo?
Speravo di aggiungere la mia cartella del fornitore al mio file .gemrc sotto gempath: avrei fatto il trucco, ma non è così. 'gem environment' mostra il percorso del fornitore, ma 'gem list' non mostra le gemme nella cartella del fornitore.
Qualche idea?
Soluzione
Alla fine ho deciso di non congelare Capistrano e le dipendenze nella directory gemme del mio fornitore in quanto non erano gemme utilizzate dalla mia applicazione, ma erano usate per distribuire la mia applicazione.
Invece li ho installati localmente sul mio account di hosting e tutto ha funzionato bene.
Altri suggerimenti
Se vuoi evitare completamente le gemme installate dal sistema (che non è una cattiva idea se non hai il controllo su di esse), installerei una copia di rubygems nella directory del fornitore.
Imposta le variabili di ambiente GEM_PATH e GEM_HOME su / path / to / your / vendor / gems directory, quindi installa rubygems e vai da lì.