Je travaille bien sur Ubuntu, mais je ne peux pas le faire fonctionner sous Mac OS-X 10.6.7.
Mon fichier de configuration Apache est modifié de sorte qu’il exécute tous les fichiers .rb
. Le script ruby que j’utilise a require 'rubygems'
.
Sur Ubuntu, j’ai ajouté des SetEnv RUBYOPT rubygems
dans mon fichier de configuration Apache, donc je n’ai même pas besoin d’utiliser require 'rubygems'
. Sur mon Mac, même lorsque j’ai besoin de rubygems, il ne peut pas charger les gemmes.
Dans IRB, les gems sont correctement chargés et je peux exécuter le script depuis la ligne de commande OK.
Mon script est à / Library / WebServer / Documents
Le journal des erreurs Apache dit –
[Lundi 23 mai 18:56:40 2011] [erreur] [client :: 1] /Library/Ruby/Gems/1.8/gems/dbi-0.4.5/lib/dbi/utils/date.rb:57: undefined méthode `deprecate 'pour DBI :: Date: Class (NoMethodError) [Lundi 23 mai 18:56:40 2011] [erreur] [client :: 1] \ tfrom /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `gem_original_require ' [Mon May 23 18:56:40 2011] [erreur] [client :: 1] \ tfrom /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `require ' [Lundi 23 mai 18:56:40 2011] [erreur] [client :: 1] \ tfrom /Library/Ruby/Gems/1.8/gems/dbi-0.4.5/lib/dbi/utils.rb:56 [Lundi 23 mai 18:56:40 2011] [erreur] [client :: 1] \ tfrom /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `gem_original_require ' [Mon May 23 18:56:40 2011] [erreur] [client :: 1] \ tfrom /Library/Ruby/Site/1.8/rubygems/custom_require.rb:36:in `require ' [Lundi 23 mai 18:56:40 2011] [erreur] [client :: 1] \ tfrom /Library/Ruby/Gems/1.8/gems/dbi-0.4.5/lib/dbi.rb:50 [Lundi 23 mai 18:56:40 2011] [erreur] [client :: 1] \ tfrom /Library/Ruby/Site/1.8/rubygems/custom_require.rb:58:in `gem_original_require ' [Lundi 23 mai 18:56:40 2011] [erreur] [client :: 1] \ tfrom /Library/Ruby/Site/1.8/rubygems/custom_require.rb:58:in `require ' [Lundi 23 mai 18:56:40 2011] [erreur] [client :: 1] \ tfrom /Library/WebServer/Documents/ruby_file.rb:6
Je pensais que l’ajout require 'rubygems'
signifiait que les chemins de gemmes seraient chargés. Quelqu’un sait pourquoi Apache ne peut pas charger les gemmes?
J’ai résolu ce problème en ne mettant pas require 'dbi'
dans mon script. L’utilisation de require 'sqlite3'
est suffisante.