簡體   English   中英

Rails Server引發錯誤“無法加載此類文件” — sass / logger(LoadError)

[英]`rails server` throws error “cannot load such file” — sass/logger (LoadError)

Rails:3.2.12 Ruby:1.9.3p392(openSuse軟件包)OS:openSuse 12.3

我只是運行rails new specsheets 干凈運行,包括捆綁安裝:

<snip>
         run  bundle install
Fetching gem metadata from https://rubygems.org/...........
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Using rake (10.1.1) 
Using i18n (0.6.9) 
Using multi_json (1.8.4) 
Using activesupport (3.2.12) 
Using builder (3.0.4) 
Using activemodel (3.2.12) 
Using erubis (2.7.0) 
Using journey (1.0.4) 
Using rack (1.4.5) 
Using rack-cache (1.2) 
Using rack-test (0.6.2) 
Using hike (1.2.3) 
Using tilt (1.4.1) 
Using sprockets (2.2.2) 
Using actionpack (3.2.12) 
Using mime-types (1.25.1) 
Using polyglot (0.3.3) 
Using treetop (1.4.15) 
Using mail (2.4.4) 
Using actionmailer (3.2.12) 
Using arel (3.0.3) 
Using tzinfo (0.3.38) 
Using activerecord (3.2.12) 
Using activeresource (3.2.12) 
Using bundler (1.3.5) 
Using coffee-script-source (1.7.0) 
Using execjs (2.0.2) 
Using coffee-script (2.2.0) 
Using rack-ssl (1.3.3) 
Using json (1.8.1) 
Using rdoc (3.12.2) 
Using thor (0.18.1) 
Using railties (3.2.12) 
Using coffee-rails (3.2.2) 
Using jquery-rails (3.1.0) 
Using rails (3.2.12) 
Using sass (3.2.14) 
Using sass-rails (3.2.6) 
Using sqlite3 (1.3.8) 
Using uglifier (2.4.0) 
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.

當我嘗試啟動WEBrick服務器時,它向我拋出以下內容:

/usr/lib/ruby/gems/1.9.1/gems/sass-rails-3.2.6/lib/sass/rails/logger.rb:1:in `require': cannot load such file -- sass/logger (LoadError)
    from /usr/lib/ruby/gems/1.9.1/gems/sass-rails-3.2.6/lib/sass/rails/logger.rb:1:in `<top (required)>'
    from /usr/lib/ruby/gems/1.9.1/gems/sass-rails-3.2.6/lib/sass/rails/railtie.rb:23:in `<class:Railtie>'
    from /usr/lib/ruby/gems/1.9.1/gems/sass-rails-3.2.6/lib/sass/rails/railtie.rb:4:in `<module:Rails>'
    from /usr/lib/ruby/gems/1.9.1/gems/sass-rails-3.2.6/lib/sass/rails/railtie.rb:3:in `<top (required)>'
    from /usr/lib/ruby/gems/1.9.1/gems/sass-rails-3.2.6/lib/sass/rails.rb:16:in `require'
    from /usr/lib/ruby/gems/1.9.1/gems/sass-rails-3.2.6/lib/sass/rails.rb:16:in `<top (required)>'
    from /usr/lib/ruby/gems/1.9.1/gems/sass-rails-3.2.6/lib/sass-rails.rb:1:in `require'
    from /usr/lib/ruby/gems/1.9.1/gems/sass-rails-3.2.6/lib/sass-rails.rb:1:in `<top (required)>'
    from /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
    from /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
    from /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
    from /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
    from /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
    from /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
    from /usr/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
    from /home/msnyder/bin/ruby/specsheets/config/application.rb:7:in `<top (required)>'
    from /usr/lib/ruby/gems/1.9.1/gems/railties-3.2.12/lib/rails/commands.rb:53:in `require'
    from /usr/lib/ruby/gems/1.9.1/gems/railties-3.2.12/lib/rails/commands.rb:53:in `block in <top (required)>'
    from /usr/lib/ruby/gems/1.9.1/gems/railties-3.2.12/lib/rails/commands.rb:50:in `tap'
    from /usr/lib/ruby/gems/1.9.1/gems/railties-3.2.12/lib/rails/commands.rb:50:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

我是Rails的新手,所以我不知道要尋找什么。 過去,我會轉到有問題的目錄(/usr/lib/ruby/gems/1.9.1/gems/),並確保所有內容都可由非root用戶和組讀取。 這次沒有奏效。

我還注意到,我的Gemfile提到了sass-rails 3.2.3,而安裝的版本是3.2.6。 我修改了Gemfile以反映這一點,但仍然收到錯誤。

我的Gemfile:

source 'https://rubygems.org'

gem 'rails', '3.2.12'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'sqlite3'


# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.6'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'debugger'

應用程序目錄下的日志目錄為空,因此沒有要報告的內容。

使用sudo運行時,服務器啟動正常。 但是,由於我在自己的/ home目錄中有此問題,因此情況並非如此。

在您的gemfile中將sass-rails置於rails之上。

sass-rails gem正在嘗試設置記錄器,但找不到Sass::Rails::Logger類。 https://github.com/rails/sass-rails/blob/3-2-stable/lib/sass/rails/railtie.rb#L23

這可能是因為您在有時間設置和自動加載之前調用sass。 https://github.com/rails/sass-rails/blob/3-2-stable/lib/sass/rails.rb#L7

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM