2012-07-15 30 views
0

我使用Puppet和存儲的配置可以通過將activerecord降級到3.0.11來解決問題。由於我在同一臺服務器上運行了一些其他的rails站點,我安裝了3.0.11版,現在已安裝了3個版本。如何使用config.ru強制rails應用程序(Puppet)中的activerecord版本

actionmailer (3.2.1, 2.3.14) 
actionpack (3.2.1, 2.3.14) 
activemodel (3.2.1, 3.0.11) 
activerecord (3.2.1, 3.0.11, 2.3.14) 
activeresource (3.2.1, 2.3.14) 
activesupport (3.2.1, 3.0.11, 2.3.14) 
acts-as-taggable-on (2.1.0) 
arel (3.0.0, 2.0.10) 
builder (3.0.0, 2.1.2) 
bundler (1.0.21) 
coderay (1.0.6, 0.9.8) 
daemon_controller (0.2.6) 
erubis (2.7.0) 
facter (1.6.5) 
fastercsv (1.5.4) 
fastthread (1.0.7) 
hiera (0.3.0) 
hiera-puppet (0.3.0) 
hike (1.2.1) 
i18n (0.6.0, 0.5.0, 0.4.2) 
journey (1.0.1) 
json (1.6.5, 1.4.3) 
liquid (2.3.0) 
mail (2.4.1) 
mime-types (1.16) 
multi_json (1.0.4) 
mysql (2.8.1) 
mysql2 (0.2.18) 
net-ldap (0.2.2) 
net-scp (1.0.4) 
net-sftp (2.0.5) 
net-ssh (2.3.0) 
passenger (3.0.11) 
pg (0.9.0) 
polyglot (0.3.3) 
puppet (2.7.6) 
puppet-lint (0.1.13) 
rack (1.4.1, 1.1.3) 
rack-cache (1.1) 
rack-ssl (1.3.2) 
rack-test (0.6.1) 
rails (3.2.1, 2.3.14) 
railties (3.2.1) 
rake (0.9.2.2, 0.8.7) 
rdoc (3.12) 
rest-client (1.6.1) 
rmagick (2.13.1) 
ruby-openid (2.1.8) 
rubytree (0.5.3) 
sprockets (2.1.2) 
sqlite3-ruby (1.2.5, 1.2.4) 
thor (0.14.6) 
tilt (1.3.3) 
treetop (1.4.10) 
tzinfo (0.3.33, 0.3.31) 

按照bug report所有我需要做的就是添加gem 'activerecord', '=2.2.2' require 'activerecord'我config.ru文件,以迫使傀儡使用此版本的ActiveRecord的。

我不知道哪個config.ru文件添加這條線,所以我嘗試了三個木偶和軌道的路徑,但沒有工作,即我繼續得到相同的錯誤(「堆棧水平太深」)

$ locate config.ru 
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.11/test/stub/rack/config.ru 
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.11/test/stub/rails_apps/3.0/empty/config.ru 
/usr/lib/ruby/gems/1.8/gems/puppet-2.7.6/ext/rack/files/config.ru 
/usr/lib/ruby/gems/1.8/gems/rack-1.4.1/test/rackup/config.ru 
/usr/lib/ruby/gems/1.8/gems/rack-test-0.6.1/spec/fixtures/config.ru 
/usr/lib/ruby/gems/1.8/gems/rails-2.3.14/dispatches/config.ru 
/usr/lib/ruby/gems/1.8/gems/railties-3.2.1/guides/code/getting_started/config.ru 
/usr/lib/ruby/gems/1.8/gems/railties-3.2.1/lib/rails/generators/rails/app/templates/config.ru 
/usr/share/puppet/ext/rack/files/config.ru 

什麼我可以在這一點上做的,迫使傀儡使用ActiveRecord v.3.0.11,而無需卸載任何其他版本的任何想法?

+0

我覺得你的情況,你可能想嘗試「寶石的ActiveRecord',‘= 3.0.11’要求的ActiveRecord'」 參見HTTP ://projects.puppetlabs.com/issues/9290#note-17 – pwan 2012-07-15 22:29:04

回答

0

答案是修改usr/lib/ruby/site_ruby/1.8/puppet/feature/rails.rb

Puppet.features.add(:rails) do 
    begin 
    + # http://projects.puppetlabs.com/issues/9290 
    + gem 'activerecord', '=3.0.11' 
    require 'active_record' 
    require 'active_record/version' 
相關問題