“未初始化的常量 Sass::Script (NameError)" [英] "uninitialized constant Sass::Script (NameError)"

查看:58
本文介绍了“未初始化的常量 Sass::Script (NameError)"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我必须首先更改我的 Gemfile(我删除了注释以缩短文本):

source 'https://rubygems.org'宝石导轨",4.2.0"宝石'sqlite3'gem 'sass-rails', '~>5.0'gem 'uglifier', '>= 1.3.0'gem '咖啡轨','~>4.1.0'宝石'jquery-rails'宝石涡轮链接"gem 'jbuilder', '~>2.0'gem 'sdoc', '~>0.4.0', 组: :doc组:开发,:测试做宝石'再见'gem '网络控制台', '~>2.0'宝石春天"结尾

到:

source 'https://rubygems.org'宝石导轨",4.2.0"gem 'sass-rails', '5.0.1'宝石 'uglifier', '2.5.3'宝石咖啡轨",4.1.0"宝石'jquery-rails','4.0.3'gem 'turbolinks', '2.3.0'宝石'jbuilder','2.2.3'gem 'sdoc', '0.4.0', 组: :doc组:开发,:测试做宝石'sqlite3','1.3.9'宝石'再见','3.4.0'宝石网络控制台",2.0.0.beta3"宝石春天",1.1.3"结尾

现在,当我尝试使用 rails server -b $IP -p $PORT 运行 rails 服务器时,我收到以下错误消息:

/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/sass-rails-5.0.1/lib/sass/rails/helpers.rb:11:in `<top(required)>': 未初始化的常量 Sass::Script (NameError)来自/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/sass-rails-5.0.1/lib/sass/rails.rb:8:in `require'来自/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/sass-rails-5.0.1/lib/sass/rails.rb:8:in `<top (required)>'来自/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/sass-rails-5.0.1/lib/sass-rails.rb:1:in `require'来自/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/sass-rails-5.0.1/lib/sass-rails.rb:1:in `<top (required)>'来自/usr/local/rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.6/lib/bundler/runtime.rb:76:in `require'来自/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’来自/usr/local/rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.6/lib/bundler/runtime.rb:72:in `each'来自/usr/local/rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.6/lib/bundler/runtime.rb:72:in `block in require'来自/usr/local/rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.6/lib/bundler/runtime.rb:61:in `each'来自/usr/local/rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.6/lib/bundler/runtime.rb:61:in `require'来自/usr/local/rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.6/lib/bundler.rb:133:in `require'来自/home/ubuntu/workspace/hello_app/config/application.rb:7:in `<top (required)>'来自/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:78:in `require'来自/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'来自/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:75:in `tap'来自/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:75:in `server'来自/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:39:in `run_command!'来自/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/railties-4.2.0/lib/rails/commands.rb:17:in `<top (required)>'来自/home/ubuntu/workspace/hello_app/bin/rails:8:in `require'来自/home/ubuntu/workspace/hello_app/bin/rails:8:in `'来自/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/spring-1.1.3/lib/spring/client/rails.rb:27:in `load'来自/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/spring-1.1.3/lib/spring/client/rails.rb:27:in `call'来自/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call'来自/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/spring-1.1.3/lib/spring/client.rb:26:in `run'来自/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/spring-1.1.3/bin/spring:48:in `<top (required)>'来自/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `load'来自/usr/local/rvm/gems/ruby-2.1.5@rails4/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `<top (required)>'来自/home/ubuntu/workspace/hello_app/bin/spring:13:in `require'来自/home/ubuntu/workspace/hello_app/bin/spring:13:in `'来自 bin/rails:3:in `load'来自 bin/rails:3:in `<main>'

我在更改 Gemfile 之前尝试运行服务器,并且它有效,所以一定是因为新的更改.此外,我知道错误中显示 ruby-2.1.5,在我的 Gemfile 中,我放置了 4.2.0,但我不知道如何更改它,或者这是否是问题所在?我试图在源代码行下添加 ruby '2.1.5' ,没有任何改变.此外,我将 'rails', '4.2.0' 更改为 2.1.5 但随后更新失败告诉我 Could not find gem 'rails (= 2.1.5) ruby​​' in the gems在本机上可用.

解决方案

正如这里所说:

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

使用 sass-rails v 5.0.2+.这应该可以解决您的问题.所以在gem文件中更改:

gem 'sass-rails', '5.0.3'

gem 'sass-rails', '5.0.2'

更新:

由于链接现在已关闭,因此此问题实际上与 gem 版本 5.0.1 有关,因此只需运行:

捆绑更新 sass-rails

最终将您的 saas-rails gem 更新到最新的 gem.或者你可以在你的 gemfile 中输入上面指定的版本.

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 `<top (required)>': 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 `<top (required)>'
    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 `<top (required)>'
    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 `<top (required)>'
    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 `<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/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 `<top (required)>'
    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 `<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>' 

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.

解决方案

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.

这篇关于“未初始化的常量 Sass::Script (NameError)"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆