2015-04-18 13 views
10

musiałem najpierw zmienić swoje Gemfile od (I usunięte komentarze, aby tekst krótszy):"niezainicjowany stała Sass :: Script (NameError)"

source 'https://rubygems.org' 

gem 'rails', '4.2.0' 
gem 'sqlite3' 
gem 'sass-rails', '~> 5.0' 
gem 'uglifier', '>= 1.3.0' 
gem 'coffee-rails', '~> 4.1.0' 
gem 'jquery-rails' 
gem 'turbolinks' 
gem 'jbuilder', '~> 2.0' 
gem 'sdoc', '~> 0.4.0', group: :doc 


group :development, :test do 
    gem 'byebug' 
    gem 'web-console', '~> 2.0' 
    gem 'spring' 
end 

do:

source 'https://rubygems.org' 


gem 'rails',    '4.2.0' 
gem 'sass-rails',   '5.0.1' 
gem 'uglifier',    '2.5.3' 
gem 'coffee-rails',   '4.1.0' 
gem 'jquery-rails',   '4.0.3' 
gem 'turbolinks',   '2.3.0' 
gem 'jbuilder',    '2.2.3' 
gem 'sdoc',     '0.4.0', group: :doc 

group :development, :test do 
    gem 'sqlite3',  '1.3.9' 
    gem 'byebug',  '3.4.0' 
    gem 'web-console', '2.0.0.beta3' 
    gem 'spring',  '1.1.3' 
end 

teraz, gdy próbuję uruchomić serwer szyn z rails server -b $IP -p $PORT dostaję następujący komunikat o błędzie:

/usr/local/rvm/gems/[email protected]/gems/sass-rails-5.0.1/lib/sass/rails/helpers.rb:11:in `<top (required)>': uninitialized constant Sass::Script (NameError) 
    from /usr/local/rvm/gems/[email protected]/gems/sass-rails-5.0.1/lib/sass/rails.rb:8:in `require' 
    from /usr/local/rvm/gems/[email protected]/gems/sass-rails-5.0.1/lib/sass/rails.rb:8:in `<top (required)>' 
    from /usr/local/rvm/gems/[email protected]/gems/sass-rails-5.0.1/lib/sass-rails.rb:1:in `require' 
    from /usr/local/rvm/gems/[email protected]/gems/sass-rails-5.0.1/lib/sass-rails.rb:1:in `<top (required)>' 
    from /usr/local/rvm/gems/[email protected]/gems/bundler-1.7.6/lib/bundler/runtime.rb:76:in `require' 
    from /usr/local/rvm/gems/[email protected]/gems/bundler-1.7.6/lib/bundler/runtime.rb:76:in `block (2 levels) in require' 
    from /usr/local/rvm/gems/[email protected]/gems/bundler-1.7.6/lib/bundler/runtime.rb:72:in `each' 
    from /usr/local/rvm/gems/[email protected]/gems/bundler-1.7.6/lib/bundler/runtime.rb:72:in `block in require' 
    from /usr/local/rvm/gems/[email protected]/gems/bundler-1.7.6/lib/bundler/runtime.rb:61:in `each' 
    from /usr/local/rvm/gems/[email protected]/gems/bundler-1.7.6/lib/bundler/runtime.rb:61:in `require' 
    from /usr/local/rvm/gems/[email protected]/gems/bundler-1.7.6/lib/bundler.rb:133:in `require' 
    from /home/ubuntu/workspace/hello_app/config/application.rb:7:in `<top (required)>' 
    from /usr/local/rvm/gems/[email protected]/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:78:in `require' 
    from /usr/local/rvm/gems/[email protected]/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:78:in `block in server' 
    from /usr/local/rvm/gems/[email protected]/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:75:in `tap' 
    from /usr/local/rvm/gems/[email protected]/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:75:in `server' 
    from /usr/local/rvm/gems/[email protected]/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:39:in `run_command!' 
    from /usr/local/rvm/gems/[email protected]/gems/railties-4.2.0/lib/rails/commands.rb:17:in `<top (required)>' 
    from /home/ubuntu/workspace/hello_app/bin/rails:8:in `require' 
    from /home/ubuntu/workspace/hello_app/bin/rails:8:in `<top (required)>' 
    from /usr/local/rvm/gems/[email protected]/gems/spring-1.1.3/lib/spring/client/rails.rb:27:in `load' 
    from /usr/local/rvm/gems/[email protected]/gems/spring-1.1.3/lib/spring/client/rails.rb:27:in `call' 
    from /usr/local/rvm/gems/[email protected]/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call' 
    from /usr/local/rvm/gems/[email protected]/gems/spring-1.1.3/lib/spring/client.rb:26:in `run' 
    from /usr/local/rvm/gems/[email protected]/gems/spring-1.1.3/bin/spring:48:in `<top (required)>' 
    from /usr/local/rvm/gems/[email protected]/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `load' 
    from /usr/local/rvm/gems/[email protected]/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `<top (required)>' 
    from /home/ubuntu/workspace/hello_app/bin/spring:13:in `require' 
    from /home/ubuntu/workspace/hello_app/bin/spring:13:in `<top (required)>' 
    from bin/rails:3:in `load' 
    from bin/rails:3:in `<main>' 

próbowałem uruchomione serwery być przed zmianą Gemfile i działa, więc musi to być spowodowane nowymi zmianami. Ponadto zdaję sobie sprawę z błędu, który mówi: ruby-2.1.5, aw moim Gemfile umieszczam 4.2.0, ale nie mam pojęcia, jak to zmienić, lub czy to jest nawet problem? Próbowałem dodać ruby '2.1.5' pod linią źródłową, nic się nie zmieniło. Także zmieniłem 'rails', '4.2.0' do 2.1.5, ale potem Aktualizacja nie powiodła się opowiadać mi Could not find gem 'rails (= 2.1.5) ruby' in the gems available on this machine.

Odpowiedz

28

Jak powiedział tutaj:

https://github.com/josh/sprockets-es6/issues/15

Korzystając sass-rails v 5.0.2+. To powinno rozwiązać twój problem. Więc w modyfikacji pliku gem:

gem 'sass-rails', '5.0.3' 

lub

gem 'sass-rails', '5.0.2' 

Aktualizacja:

Ponieważ link jest w dół, tak teraz ten problem jest faktycznie z wersją gem 5.0.1 więc wystarczy uruchomić:

bundle update sass-rails 

które ostatecznie datuje ci klejnot do najnowszej. Lub możesz wprowadzić wersję w swoim gemfile, jak określono powyżej.

+0

to działa, dziękuję. autor książki zaleca korzystanie z tych samych ustawień, co on, ponieważ można uzyskać różne wyniki w trakcie samouczka z różnymi wersjami, więc zastanawiam się, czy jest jakiś inny sposób? (przy okazji polecenie 'sass-rails v 5.0.2 +' nie działało, mówiąc mi 'nie znaleziono polecenia') –

+1

tak naprawdę nie jest to błąd w klejnocie, więc musisz użyć nowej wersji, która nie powinna wpłynąć na wyniki. – Deep

+0

Bardzo dziękuję –

1

bundle update sass-rails załatwiłem sprawę podczas aktualizacji do Rails 4.2.2.

+0

Zrobiłem to samo. Teraz 'bundle install' daje mi' Using sass-rails 5.0.4', ale wciąż mam do czynienia z błędem. Jakaś pomoc? –

Powiązane problemy