Passenger supporte Bundler depuis un certain temps, mais c’est fait assez salement[1] et y a des problèmes avec Rack et JSON qui sont déjà loadés par Passenger avant qu’il n’essaye de faire un Bundler.setup. Il y a aussi des problèmes parce que Bundler.require serait plus approprié que Bundler.setup, donc on a des requires « manuels » dans environment.rb ou à des endroits plus appropriés (require ‘redis’ dans config/initializers/redis.rb), uniquement pour la production/staging, en dév ils ne sont pas nécessaires…
Le pire étant concernant JSON, vu que la constante est bien là, mais un ActiveRecord::Base#to_json renvoie une chaîne qui ressemble à un inspect (et donc n’est pas du JSON valide) si la version de JSON dans le Gemfile n’est pas la même que celle qui est loadée par Passenger avant de loader l’application. Exemple de commits pour résoudre ce problème : https://gist.github.com/f22e948d0335506ac6a4 L’étude du code de loading d’application de Passenger m’a permis de trouver aussi qu’on peut mettre un fichier config/setup_load_paths, et dans ce cas ça ignore complètement le chargement de Bundler de Passenger, ce qui est mieux si l’application gère Bundler elle-même (Rails 3 ou Rails 2 avec Bundler configuré comme indiqué dans la doc[2]). J’espère que ça pourra t’aider. [1]: https://github.com/FooBarWidget/passenger/blob/master/lib/phusion_passenger/utils.rb#L273-327 [2]: http://gembundler.com/rails23.html -- Étienne Barrié -- Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected]
