2 votes

dire à bundler d'ignorer certaines dépendances ?

J'ai une application rails 2 que je suis en train de mettre à jour pour utiliser bundler. Malheureusement, cette application n'utilise pas active_record (mais utilise fortement tous les autres composants de rails).

Auparavant, pour que l'application ignore active_record, j'avais ce qui suit dans mon fichier environment.rb :

config.frameworks -= [ :active_record ]

Cependant, il semble que bundler force le chargement de active_record, ce qui entraîne des erreurs puisque aucune base de données n'est spécifiée.

J'utilise rails 2.3.16 (j'essaie actuellement de le mettre à jour dans le cadre de ce processus).

J'ai cherché un peu, et le plus proche que j'ai trouvé était ce ticket ouvert :

https://github.com/wycats/bundler/issues/143

Ma seule option est-elle de modifier explicitement le fichier Gemfile.lock et de supprimer toutes les références à active_record ?

0voto

Chris Cashwell Points 9264
  • Vérifiez que votre config/application.rb n'a pas tienen require 'rails/all' o require "active_record/railtie" . Au lieu de cela, pour une installation Rails standard sans ActiveRecord, il devrait avoir uniquement l'exigence suivante :

    require File.expand_path('../boot', __FILE__)
    
    require "action_controller/railtie"
    require "action_mailer/railtie"
    require "active_resource/railtie"
    require "rails/test_unit/railtie"
    require "sprockets/railtie"
    
    # Auto-require default libraries and those for the current Rails environment. 
    Bundler.require :default, Rails.env
  • Si, en config/application.rb si vous utilisez le config.generators assurez-vous qu'il ne comporte pas la ligne g.orm :active_record . Vous pouvez définir explicitement ce paramètre pour nil si vous le souhaitez, mais cela devrait être la valeur par défaut lorsque l'on utilise la fonction g.orm est complètement omis.

  • Facultatif, mais dans votre Gemfile retirer le gem qui charge le module pour votre base de données. Il peut s'agir de la ligne gem "mysql" par exemple.

(de aquí )

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X