2010-06-08 10 views
1

J'essaye de déballer toutes les gemmes de système pour finir avec un répertoire de Rails autonome comprenant tous les gemmes de rails et toutes les gemmes de système. Je commence par une configuration de rails nus; juste fait un jruby -S rails et un 'générer jdbc'. J'ajoute ensuite un fichier config.gem 'jdbc-mysql' à environment.rb et fais les gems rr jruby -S: unpack: dependencies.Comment déballez-vous les gemmes en utilisant jruby sur les rails 2.3?

Après avoir déballé, si je fais un râteau je reçois:

no such file to load -- jdbc-mysql 

Y at-il autre chose que vous devez faire pour obtenir la gemme jdbc décompressé? J'utilise jruby 1.4.0 (et le déplacement vers 1.5 est sur ma liste de tâches) et les rails 2.3.8.

Répondre

1

Voici ce que je fais:

1) Installer des pierres précieuses à un référentiel local 2) Définir mon environnement de charge d'utiliser un fichier gemrc.yml à l'intérieur du dépôt local

Pour instal gemmes faire localement ceci à partir de votre dossier de projet: gem install {gemname} -i gems (les "-i gems" indiquent à rubygems d'installer la gemme dans le dossier gems et le {gemname} est un espace réservé pour le nom de la gemme que vous voulez installer.)

Pour définir votre gemrc.yml créer un fichier dans le gemmes nouvellement créés dossier appelé gemrc.yml avec quelque chose comme le contenu suivant: http://gist.github.com/430339

Ensuite, vous devez dire à votre application pour utiliser vos gemmes locales au démarrage en ajoutant ce qui suit à votre config/boot.rb http://gist.github.com/430343

Bonne chance ... et pour un crédit supplémentaire, vous pouvez configurer la possibilité d'installer une gemme si cela est nécessaire. Je l'ai fait par une méthode appelée dependency qui est une méthode d'aide pour la commande require ... Cette fonction reçoit un nom et des options ... De cette façon, je dis simplement quelque chose comme: (dependency 'extlib') et cela si ne peut pas exiger la gemme.

met gem install --config-file gems/gemrc.yml #{'-v "'+options[:version].gsub(' ','')+'"' if options[:version]} #{options[:gem] || name}