2012-03-30 4 views
2

Ich habe diese bisher noch nie gesendet. Ich konfiguriere einen neuen Server mit einer bestehenden Anwendung. Versuche eine Migration durchzuführen und hier ist die Ausgabe.Was verursacht die private Methode `gsub`, die während der Rails-Migration für nil: NilClass aufgerufen wird?

[email protected]:/vol/opt/dev/capistrano/foo-alpha/releases/20120330233010# RAILS_ENV=production rake db:migrate --trace 
rake aborted! 
private method `gsub' called for nil:NilClass 
/usr/local/rvm/gems/[email protected]/gems/bundler-1.1.3/lib/bundler/runtime.rb:77:in `require' 
org/jruby/RubyArray.java:1614:in `each' 
/usr/local/rvm/gems/[email protected]/gems/bundler-1.1.3/lib/bundler/runtime.rb:55:in `require' 
/usr/local/rvm/gems/[email protected]/gems/bundler-1.1.3/lib/bundler.rb:119:in `require' 
/vol/opt/dev/capistrano/foo-alpha/releases/20120330233010/config/application.rb:7:in `(root)' 
org/jruby/RubyKernel.java:1027:in `require' 
/usr/local/rvm/rubies/jruby-1.6.6/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require' 
/vol/opt/dev/capistrano/foo-alpha/releases/20120330233010/config/application.rb:4:in `(root)' 
org/jruby/RubyKernel.java:1052:in `load' 
/vol/opt/dev/capistrano/foo-alpha/releases/20120330233010/Rakefile:25:in `load_rakefile' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:501:in `raw_load_rakefile' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:82:in `load_rakefile' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:81:in `load_rakefile' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:65:in `run' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/bin/rake:33:in `(root)' 
org/jruby/RubyKernel.java:1052:in `load' 
/usr/local/rvm/gems/[email protected]/bin/rake:19:in `(root)' 

Migrationen auf meinem lokalen Laptop und auf einem vorhandenen Server funktionieren einwandfrei. config/database.yml sieht richtig aus. Die Datenbank läuft und ich kann mich damit verbinden. Was ist das?

Ich habe auch gerade rails console getestet und ich bin auch nicht in der Lage, eine Konsole zu bekommen. Wieder eine private Methode gsub genannt für Nil: NilClass. Es hängt irgendwie mit der Verbindung zur Datenbank zusammen und ich bin mir nicht sicher, wie/warum.

** UPDATE **

Nachdem einige Debug in runtime.rb hinzufügen, ist dies die Ausnahme, die ausgelöst hat wird:

#<LoadError: no such file to load -- activerecord-jdbcmysql-adapter> 

Der verkorkste Teil ist, es installiert ist:

# gem list |grep -i activerecord-jdbcmysql-adapter 
activerecord-jdbcmysql-adapter (1.2.2) 

Ist das eine Art von RVM oder Bundler Bug?

** LAST UPDATE **

Ich installierte Amazon Linux AMI (der andere ist ein Ubuntu) und kann dieses Problem dort nicht replizieren.

+1

bitte posten Sie Ihre Migration –

+0

Ich habe eine Tonne von Migrationen. Das alles hat bisher gut funktioniert, bis ich einen neuen Server eingerichtet habe. – randombits

+0

Haben Sie versucht, diesen Code unter einer anderen Ruby-Implementierung auszuführen? – YenTheFirst

Antwort

0

Dies ist ein Fehler in Bundler, es wurde für rvm-capistrano gemeldet, überprüfen Sie bitte Ihre Gemfile und versuchen Sie, einige Edelsteine ​​zu entfernen/kommentieren.

https://github.com/carlhuda/bundler/issues/1801

+2

Ernsthaft, kein Link? Nur ein Versuch, einige Edelsteine ​​zu kommentieren ?! Warum überhaupt eine Antwort schreiben? – BeMathis

Verwandte Themen