Je déplace une application rails de mon bureau vers un hôte partagé, et je rencontre des problèmes avec une dépendance à la gemme.gem en cours de chargement par l'initialisation du script/console, mais pas l'initialisation du serveur
J'ai ce déclaré dans mon environment.rb:
config.gem "icalendar"
Quand j'ai essayé à partir d'une console pour l'application, j'ai des messages d'erreur demandant que je ratisse: installer la pierre précieuse. J'ai utilisé le processus d'installation d'hébergement gem partagé pour installer la gemme dans ~/ruby / gems et confirmé que la gemme était là.
ls -rlt ~ruby/gems/gems/icalendar-1.1.0/
total 64
drwxr-xr-x 4 user user 4096 Dec 12 13:15 docs/
drwxr-xr-x 3 user user 4096 Dec 12 13:15 ../
drwxr-xr-x 5 user user 4096 Dec 12 13:18 test/
drwxr-xr-x 3 user user 4096 Dec 12 13:18 lib/
(j'ai remplacé l'utilisateur/groupe réel ici manuellement)
J'ai ensuite ajouté à mon environment.rb:
ENV['GEM_PATH'] = "/home/USER/ruby/gems"
(Encore une fois, l'utilisateur réel remplacé)
La prochaine fois que j'ai couru script/console, l'application s'est bien chargée. Je me suis alors essayé de démarrer le serveur, et a obtenu cette erreur:
Missing these required gems:
icalendar
You're running:
ruby 1.8.7.22 at /usr/bin/ruby
rubygems 1.3.5 at /home/USER/ruby/gems, /usr/lib/ruby/gems/1.8
J'ai essayé tordant le chemin un peu, mais qui n'a pas eu d'effet. J'ai fourré un peu ici et sur google en général et n'ai pas vu quelque chose qui a directement résolu ce problème - je pense que la console et le serveur utiliseraient tous deux le GEM_PATH dans la configuration de l'environnement. Ne ressemble pas non plus à un problème d'autorisations. Des idées? Merci pour l'aide avec ça.
Eh oui, je spécifiant ENV [ 'GEM_PATH' ] en haut du fichier. Ce qui semble l'avoir corrigé ajoutait également Gem.clear_paths. Merci! – greg