Ich erstelle einen Rails-Leistungstest, wie im Rails Guide beschrieben und ich habe Probleme mit Ruby-prof.
Ich benutze Ruby 1.9.2-p0 (obwohl das gleiche Problem auf p320) und Rails 3.1.0.
Ich habe einen ziemlich einfachen Test für einen Controller, der diesem Beispiel entspricht.
>Nach dem Leitfaden muss ich installieren Ruby-prof, bevor ich Leistungstests verwenden kann. Sicher genug, wenn ich meinen Leistungstest ohne es mache, bekomme ich:
Geben Sie ruby-prof als Abhängigkeit der Anwendung in Gemfile an, um Benchmarks auszuführen.
Wenn ich die Anweisungen des Leitfadens genau befolge, füge ich diese zu meiner Gemdatei hinzu:
Juwel 'Ruby-prof',: git = & gt; 'git: //github.com/wycats/ruby-prof.git'
... und Version 0.11.0 aus dem Wycats-Repository holen. Wenn ich meinen Test ausführe, bekomme ich diesen Fehler:
%Vor%Aber "Wycats" scheint nicht das kanonische Github Repo für Ruby-Prof zu sein. Die Dokumentation bezieht sich auf rdp (Roger Pack). Wenn ich stattdessen dieses Repo verwende:
Juwel 'Ruby-prof',: git = & gt; 'git: //github.com/rdp/ruby-prof.git'
... Ich bekomme die Version 0.11.2 und bekomme diesen Fehler:
/Users/craig/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.1.0/lib/active_support/testing/performance/ruby.rb:39:in
run': undefined method
values 'für [#]: Array (NoMethodError) aus /Users/craig/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.1.0/lib/active_support/testing/performance.rb:140:in 'run_profile' ...
Ich bekomme den gleichen Fehler, wenn ich einfach den Edelstein von Rubygems direkt benutze (wieder, Version 0.11.2):
Juwel 'Rubin-Prof'
Irgendwelche Ideen, was schief läuft oder wie man es löst?
Um die neueste Version von ruby-prof zu verwenden, benötigen Sie rails 3.2.3, ich weiß nicht, welche ruby-prof-Version Sie mit rails 3.1 verwenden können, vielleicht können Sie lib / active_support / testing / performance / ruby.rb kopieren Aktive Unterstützung 3.2.3
Das Problem ist in activesupport-3.2.2 \ lib \ active_support \ testing \ performance \ ruby.rb.
Ändern Sie Zeile 39 von:
%Vor%An:
%Vor%Ich hatte das gleiche Problem. Ich habe das behoben, indem ich die korrekte ruby-prof-Version für meine Rails-Version installiert habe.
Also habe ich Rails 3.0.9 am 16. Juni 2011 veröffentlicht (gemäß Ссылка ).
Dann habe ich nach Ruby-prof gesucht, das ungefähr am selben Tag veröffentlicht wurde. Und es war 0.10.8 am 6. Juli 2011 veröffentlicht.
Nach der Installation der oben genannten funktionierte ich es. Einige der Profilierungsmetriken werden möglicherweise nicht unterstützt.
Prost.
Tags und Links ruby-on-rails ruby-on-rails-3.1 ruby-prof