2016-08-31 5 views
0

J'utilise Apache avec FastCGI pour exécuter une application ruby. J'ai installé le module apache fcgi et aussi le gem Ruby fcgi.FCGI Ruby Gem introuvable lors de l'utilisation d'apache

Quand je lance le script fcgi 'search.fcgi' comme si

ruby search.fcgi 

Il fonctionne avec succès. Cependant lors du démarrage de Apache, j'obtiens l'erreur suivante dans mon fichier journal quand il tente d'exécuter le même script:

/usr/local/rvm/rubies/ruby-2.1.8/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- fcgi (LoadError) 
from /usr/local/rvm/rubies/ruby-2.1.8/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
from /home/user/fcgi/search.fcgi:13:in `<main>' 

Ligne 13 à search.fcgi est tout simplement require 'fcgi'

Il semble que lors de l'exécution par Apache est incapable de détecter la gemme installée. J'ai chargé irb et et exécutez require 'fcgi' qui renvoie vrai.

Ai-je oublié quelque chose ici? Un chemin ou un élément de configuration que je dois définir?

Répondre

0

Mon problème a été causé par le fait que Ruby a été installé avec RVM. Il y avait un problème avec le script d'Apache accédant à certaines parties de l'instillation RVM. La solution consistait à retirer l'installation de rubis RVM et à réinstaller le rubis de la source.