2013-08-23 18 views
16

Dostaję błąd I nie wydaje się, aby dowiedzieć się przyczyny:EOF Błąd javascript_include_tag Szyny 4

EOF Error end of file reached 

nazwie z /app/views/layouts/application.html.erb, linia 6 :

<%= javascript_include_tag "application", "data-turbolinks-track" => true %> 

W Ruby błędu EOF jest podklasą IOError i jest wychowywany przez operacji IO osiągnięciu końca pliku.

Oto część tego, co znalazłem do tej pory:

Zastosowanie:

<%= javascript_include_tag :defaults, "data-turbolinks-track" => true %> 

... albo ...

<%= javascript_include_tag :all, "data-turbolinks-track" => true %> 

lub nawet wystawianie na poszczególne js pliki przez javascript_include_tag działają, aby usunąć błąd EOF.

Pomyślałem, że może to być spowodowane przez niektóre dyrektywy kółek, więc usunąłem wszystkie dyrektywy w pliku application.js. To nic nie zmieniło.

Running aktywa Zgrabiarka: prekompilacji daje mi też:

rake aborted! 
end of file reached 

Running git diff na aktywach katalogu app// JavaScripts pokazuje 1 rzeczą, która może być notatki w pliku .js I edycji został niedawno:

+$(document).on('ready page:load', function() { 
+ 
+  // some code I had written 
+ 
+}); 
\ No newline at end of file 

Ten "brak nowej linii na końcu pliku" bit ... Nigdy wcześniej tego nie widziałem. Jednak po prostu wstawiłem znak nowej linii na końcu tego samego pliku i zatwierdziłem zmianę, a ten komentarz zniknął z pliku różnic.

EDIT: Wskazując przeglądarkę na localhost: 3000/aktywa/application.js daje mi to:

throw Error("EOFError: end of file reached") 

Mam dokładnie zakłopotany i zostały próby debugowania to na cały dzień. Dlaczego występuje ten błąd? Oto StackTrace od kiedy biegnę aktywa Zgrabiarka: prekompilacji:

rake aborted! 
end of file reached 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0.rc2/lib/active_support/core_ext/marshal.rb:6:in `load' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0.rc2/lib/active_support/core_ext/marshal.rb:6:in `load_with_autoloading' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/cache/file_store.rb:19:in `block in []' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/cache/file_store.rb:19:in `open' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/cache/file_store.rb:19:in `open' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/cache/file_store.rb:19:in `[]' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/caching.rb:14:in `cache_get' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/caching.rb:84:in `cache_get_hash' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/caching.rb:54:in `cache_asset' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/index.rb:93:in `build_asset' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/base.rb:287:in `find_asset' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/index.rb:61:in `find_asset' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/bundled_asset.rb:37:in `init_with' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/asset.rb:24:in `from_hash' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/caching.rb:54:in `cache_asset' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/index.rb:93:in `build_asset' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/base.rb:287:in `find_asset' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/index.rb:61:in `find_asset' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/manifest.rb:211:in `block in find_asset' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/manifest.rb:257:in `benchmark' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/manifest.rb:210:in `find_asset' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/manifest.rb:119:in `block in compile' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/manifest.rb:118:in `each' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/manifest.rb:118:in `compile' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-rails-2.0.0/lib/sprockets/rails/task.rb:60:in `block (3 levels) in define' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/rake/sprocketstask.rb:146:in `with_logger' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-rails-2.0.0/lib/sprockets/rails/task.rb:59:in `block (2 levels) in define' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/bin/ruby_noexec_wrapper:14:in `eval' 
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/bin/ruby_noexec_wrapper:14:in `<main>' 
+0

Zacząłem doświadczać tego samego problemu w ciągu ostatnich kilku dni. W ciągu weekendu nie pracowałem nad rozwojem railsów, ale użyłem nvm do zainstalowania najnowszych wersji pakietów skryptów z pakietami node i npm. Nie ma dla mnie sensu, żeby miało to wpływ na moją aplikację szyn, ale może tak jest? – jkndrkn

Odpowiedz

4

Spróbuj usunąć z lokalnym katalogu projektu i sprawdzić nową kopię.

Doświadczyłem dzisiaj uruchomienia serwera przerwanych railsów, który prawdopodobnie pozostawił mój system w niespójnym stanie i spowodował dokładnie ten sam dokładny błąd, którego doświadczałeś. Rubiff 2.0.0-p0 segfault zatrzymał mój start serwera railsowego, po którym nie mogłem załadować żadnych stron z powodu wspomnianego błędu.

Nie wiem na pewno, co spowodowało tę oryginalną awarię, niestety. Na szczęście nie mam już z tym do czynienia!

+0

Tak, próbowałem wczoraj i zadziałało. Po raz pierwszy spróbowałem powrócić do wcześniejszego zatwierdzenia, ale otrzymałem ten sam błąd, więc uruchomiłem 'git clone https://github.com/mygithubusername/myrepo.git mynewrepo', aby sklonować do nowego katalogu lokalnego iz jakiegoś powodu zaczęło działać. – kwyoung11

+0

Czy ktoś może wyjaśnić DLACZEGO to się stało? Tego samego dnia miałem ten sam problem w pracy i pomyślałem, że świat się skończył! Nie sądzisz, że któryś z was używa klejnotów na Twitterze? A może czas oczekiwania na rack? To najnowsze dodatki do mojej bazy kodów, które mogły wprowadzić to ... – stephenmurdoch

56

Jeśli wciąż masz stare repo, możesz uruchomić bundle exec rake tmp:clear. Sądzę, że to naprawi.

+0

Niestety, usunąłem moje stare repozytorium, więc nie mogę tego przetestować. Mam nadzieję, że będzie to przydatne dla innych osób z tym samym błędem. – kwyoung11

+3

Yay to działało !!! – alalani

+14

Aby rozwinąć tę odpowiedź: Przyczyną wydaje się być to, że pamięć podręczna zasobów w folderze tmp jest uszkodzona. Wierzę, że to się dzieje, gdy proces Railsów umiera w niewłaściwym momencie. Podczas próby zrestartowania serwera, uruchomienia testu itp, potok zasobów próbuje odczytać uszkodzoną pamięć podręczną i dławi się. Dlatego wyczyszczenie pamięci podręcznej rozwiązuje problem. – rlkw1024

2

Czyszczenie plików tymczasowych stosując następujące poprawki Polecenie ten problem:

rake tmp:clear 
0

Jeśli masz ten problem w systemie Windows, spróbuj przejść do pliku Gemfile.lock i ręcznie zmieniając wartość coffee-script-source do 1.8.0 (mój zaczął jako 1.9.1.1). Coś o nowszych wersjach nie gra fajnie z jakiegokolwiek powodu.