2016-03-10 11 views
14

Göreceli olarak yeni bir Rails programcısıyım ve varlıkları önceden derlemeye çalıştığımda (hatta bazen sunucuyu çalıştırdığımda), bu hatayı alıyorum:Önceden varolan varlıklar üzerinde bu hatayı alma: TypeError: ActiveSupport :: StringInquirer sindiremedi

TypeError: couldn't digest ActiveSupport::StringInquirer 

    /Users/Lucia/jruby/lib/ruby/gems/shared/gems/sprockets-3.5.2/lib/sprockets/digest_utils.rb:83:in `digest' 
    /Users/Lucia/jruby/lib/ruby/gems/shared/gems/sprockets-3.5.2/lib/sprockets/loader.rb:55:in `block in load' 
    /Users/Lucia/jruby/lib/ruby/gems/shared/gems/sprockets-3.5.2/lib/sprockets/loader.rb:312:in `block in fetch_asset_from_dependency_cache' 
    org/jruby/RubyArray.java:1560:in `each' 
    org/jruby/RubyEnumerable.java:1016:in `each_with_index' 
    /Users/Lucia/jruby/lib/ruby/gems/shared/gems/sprockets-3.5.2/lib/sprockets/loader.rb:308:in `fetch_asset_from_dependency_cache' 
    /Users/Lucia/jruby/lib/ruby/gems/shared/gems/sprockets-3.5.2/lib/sprockets/loader.rb:44:in `load' 

...

Ben gelişiminde sindirerek kapatarak denedim ve gelişime RAILS_ENV bayrak işaret ile tırmık görev çalıştıran denedi, ancak hiçbir sonuç alarak.

Bu sorunu Google'da aramayı denedim ve alakalı bir şey bulamıyorum.

jRuby 9.0.5.0 ve rails 4.2.5.2 çalıştırıyorum.

+0

tmp/cache/assets/ yolunu kaldırmak ve ben (RSpec) :(thx raylar 4 – jfarn23

+6

bu da bugün içine çalışan oldu hiçbir fikrim yok neden , kök nedeninin tam olarak ne olduğundan emin değilim, fakat tmp/önbellek/varlıkları sildiğimde ve './bin/spring stop'unu çalıştırdığımda ve çalıştığı özellikleri çalıştırdığımda _Edit: _ en azından bizim durumumuzda şube anahtarlama ve yeniden paketleme – lwe

+3

Tmp/önbellek/varlıkların silinmesi gerçekten işe yarıyor gibi görünüyor. –

cevap

9

bu komutları başlaması deneyin:

RAILS_ENV=test bundle exec rake assets:clean 
RAILS_ENV=test bundle exec rake tmp:cache:clear 
RAILS_ENV=test bundle exec rake assets:precompile 
+1

Capistrano 3'ü kullanarak dağıtım yaparken aynı sorunla karşılaşıyorum. Eğer RAIL ile ilk iki adım kullanılırsa S_ENV = prodüksiyon sunucusunda prodüksiyon var ve daha sonra yerel makineden "cap üretim konuşlandırması" nı çalıştırın. Apache'yi (veya herhangi bir web sunucusunu) ve yolcuyu (veya herhangi bir uygulama sunucusunu) durdurmayı unutmayın. –

0

benim üretim ortamında aynı sorunu vardı. İş arkadaşlarımın projeye public/assets eklemeyi unuttuğunu fark ettim. Bunu ekledikten ve taahhüt ettikten sonra, sorunum çözüldü. Uygulamanızı geliştiriyorsanız, varlıklarınızın mevcut olup olmadığını kontrol edin.

geliştirme ortamı için
7

, sadece benim RSpec aynı hatayı alıyorum

$ rm -rf tmp/cache/assets/

İlgili konular