“uninitialized constant Sass::Script (NameError)”

匿名 (未验证) 提交于 2019-12-03 01:57:01

问题:

I had first to change my Gemfile from (I deleted the comments to make the text shorter):

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 

to:

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 

now when I try to run the rails server with rails server -b $IP -p $PORT I get following error message:

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

I tried the running the servers before changing the Gemfile, and it works, so it must be because of the new changes. Also I'm aware in the error it says ruby-2.1.5, and in my Gemfile I put 4.2.0 but I have no clue how to change this, or if this is even the problem? i tried to add ruby '2.1.5' under the source line, nothing changed. Also I changed 'rails', '4.2.0' to 2.1.5 but then the update failed telling me Could not find gem 'rails (= 2.1.5) ruby' in the gems available on this machine.

回答1:

As said here:

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

Use sass-rails v 5.0.2+. This should solve your issue. So in the gem file change:

gem 'sass-rails', '5.0.3' 

or

gem 'sass-rails', '5.0.2' 

Update:

As the link is down now so this issue is actually with the gem version 5.0.1 so just run:

bundle update sass-rails 

which ultimately updates you saas-rails gem to the latest one. Or you can enter the version in your gemfile as specified above.



回答2:

bundle update sass-rails did the trick for me when upgrading to Rails 4.2.2.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!