2011-10-24 8 views
9

trwania:ROR prekompilacja Aktywa nie natomiast aktywa Zgrabiarka: prekompilacji - na zasadzie pustych application.js

bundle exec rake assets:precompile RAILS_ENV=production --trace 

** Execute assets:precompile:primary 
rake aborted! 
TypeError: Object doesn't support this property or method 
    (in C:/Sites/MyApp/app/assets/javascripts/application.js) 

Oto cała zawartość application.js:

//= require jquery 
//= require jquery_ujs 
//= require_tree . 

nic innego.

Próbowałem usunąć trzy linie //= require z application.js, wstępna kompilacja następnie działa bez żadnych problemów.

+0

Który plik 'application.js' pokazałeś nam źródło? Gdzie to się znajduje? – lloydpick

+0

C: /Sites/MyApp/app/assets/javascripts/application.js wygenerowany automatycznie. Usunąłem trzy wiersze wymagające // i wstępnie skompilowałem je bez problemu, muszę założyć, że klejnoty jquery mają czkawkę. W końcu będę potrzebował jquery, więc będzie wspaniale, aby to naprawić. thx – asarig

+0

Masz jQuery-rails w swoim Gemfile i zrobiłeś pakiet install? – bratsche

Odpowiedz

13

Wygląda na to, że to może być problem z uglifier i Windows Script Host:

https://github.com/rails/rails/issues/2847

Upewnij się, że używasz ostatnią wersję uglifier (1.0.4). Jeśli nadal występują problemy, polecam wypróbowanie innego kompilatora (np kompilator Closure)

W Gemfile:

gem 'closure-compiler' 

W config/environments/production.rb

config.assets.js_compressor = :closure 

alternatywnie wyłączyć kompresję całkowicie JS:

config.assets.compress = false 
+0

dzięki za tę odpowiedź, zadziałało! aby pomagać innym: chwyciłem za wulgarne 1.0.4 i próbowałem; brak szczęścia. Chwycił kompilator zamknięcia 1.1.4, dodał klej i zmiany konfiguracji i wypróbowany: pracował jak urok! – asarig

+0

Dziękuję. Jeśli odpowiedź była pomocna, prosimy o bezpłatną prezentację i/lub zaakceptowanie :) –

+0

Cześć Alex, to była pierwsza rzecz, którą zmęczyłem, mówiąc, że "głosowanie wymaga 15 reputacji. Jestem tutaj nowy, w sumie 1 reputacja ... przepraszam, proszę, nie przestawaj mi pomagać, tylko dlatego, że nie mogę ci odpowiednio podziękować! – asarig

1

Mam taki sam rodzaj er ror

...>rake assets:precompile 
C:/Ruby192/bin/ruby.exe C:/Ruby192/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets 
... 
rake aborted! 
TypeError: Object doesn't support this property or method 
    (in C:/Users/straffordw/railsApps/chorus-spp/app/assets/javascripts/application.js) 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:68:in `extract_result' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:28:in `block in exec' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:41:in `compile_to_tempfile' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:27:in `exec' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/uglifier-2.0.1/lib/uglifier.rb:167:in `really_compile' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/uglifier-2.0.1/lib/uglifier.rb:95:in `compile' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/actionpack-3.2.11/lib/sprockets/compressors.rb:74:in `compress' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/sprockets-2.2.2/lib/sprockets/processing.rb:265:in `block in js_compressor=' 
... 

i zrobił

bundle update 

który przyniósł

uglifier (2.1.1) 

(między innymi), a następnie:

rake assets:precompile 

i że mój problem rozwiązany. Windows, Rails 3.2.11.

Powiązane problemy