3

Ich verwende AngularJS 1.5 in einem Rails 3.2-Projekt innerhalb der Asset-Pipeline. Wenn ich die Assets so kompiliere;AngularJS Materialfehler am Asset: Vorkompilierung

rake assets:precompile 

Ich bekomme diese Fehlermeldung, wenn

/usr/local/rbenv/versions/2.1.5/bin/ruby ./bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets 
Multithreading on 1 processors 
Starting Asset Compile: 2016-05-02 01:49:20 UTC 
/usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rails-assets-angular-material-1.1.0.rc4/app/assets/stylesheets/angular-material/layouts/angular-material.layouts.ie_fixes.scss:25: Invalid CSS after "and ": expected "{", was "(max-width: 599..." (Sass::SyntaxError) 
    (in /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rails-assets-angular-material-1.1.0.rc4/app/assets/stylesheets/angular-material/layouts/angular-material.layouts.ie_fixes.scss) 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sass-3.4.22/lib/sass/scss/parser.rb:1189:in `expected' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sass-3.4.22/lib/sass/scss/parser.rb:1125:in `expected' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sass-3.4.22/lib/sass/scss/parser.rb:1120:in `tok!' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sass-3.4.22/lib/sass/scss/parser.rb:656:in `block' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sass-3.4.22/lib/sass/scss/parser.rb:409:in `media_directive' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sass-3.4.22/lib/sass/scss/parser.rb:222:in `special_directive' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sass-3.4.22/lib/sass/scss/parser.rb:197:in `directive' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sass-3.4.22/lib/sass/scss/parser.rb:675:in `block_child' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sass-3.4.22/lib/sass/scss/parser.rb:668:in `block_contents' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sass-3.4.22/lib/sass/scss/parser.rb:125:in `stylesheet' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sass-3.4.22/lib/sass/scss/parser.rb:41:in `parse' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sass-3.4.22/lib/sass/engine.rb:406:in `_to_tree' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sass-3.4.22/lib/sass/engine.rb:281:in `render' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sass-rails-3.2.6/lib/sass/rails/template_handlers.rb:106:in `evaluate' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/tilt-1.4.1/lib/tilt/template.rb:103:in `render' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-2.2.3/lib/sprockets/context.rb:193:in `block in evaluate' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-2.2.3/lib/sprockets/context.rb:190:in `each' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-2.2.3/lib/sprockets/context.rb:190:in `evaluate' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/turbo-sprockets-rails3-0.3.14/lib/turbo-sprockets/sprockets_overrides/processed_asset.rb:16:in `initialize' 
rake aborted! 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/turbo-sprockets-rails3-0.3.14/lib/turbo-sprockets/sprockets_overrides/base.rb:18:in `new' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/turbo-sprockets-rails3-0.3.14/lib/turbo-sprockets/sprockets_overrides/base.rb:18:in `block in build_asset' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-2.2.3/lib/sprockets/base.rb:270:in `circular_call_protection' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/turbo-sprockets-rails3-0.3.14/lib/turbo-sprockets/sprockets_overrides/base.rb:14:in `build_asset' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-2.2.3/lib/sprockets/index.rb:93:in `block in build_asset' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-2.2.3/lib/sprockets/caching.rb:19:in `cache_asset' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-2.2.3/lib/sprockets/index.rb:92:in `build_asset' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-2.2.3/lib/sprockets/base.rb:169:in `find_asset' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/turbo-sprockets-rails3-0.3.14/lib/turbo-sprockets/sprockets_overrides/index.rb:14:in `find_asset' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/turbo-sprockets-rails3-0.3.14/lib/turbo-sprockets/sprockets_overrides/bundled_asset.rb:12:in `initialize' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/turbo-sprockets-rails3-0.3.14/lib/turbo-sprockets/sprockets_overrides/base.rb:22:in `new' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/turbo-sprockets-rails3-0.3.14/lib/turbo-sprockets/sprockets_overrides/base.rb:22:in `build_asset' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-2.2.3/lib/sprockets/index.rb:93:in `block in build_asset' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-2.2.3/lib/sprockets/caching.rb:19:in `cache_asset' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-2.2.3/lib/sprockets/index.rb:92:in `build_asset' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-2.2.3/lib/sprockets/base.rb:169:in `find_asset' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/turbo-sprockets-rails3-0.3.14/lib/turbo-sprockets/sprockets_overrides/index.rb:14:in `find_asset' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-2.2.3/lib/sprockets/manifest.rb:178:in `block in find_asset' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-2.2.3/lib/sprockets/manifest.rb:199:in `benchmark' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-2.2.3/lib/sprockets/manifest.rb:177:in `find_asset' 
EOFError: end of file reached 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-derailleur-0.0.9/lib/sprockets-derailleur/manifest.rb:101:in `block (2 levels) in worker' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/2.1.0/benchmark.rb:279:in `measure' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-derailleur-0.0.9/lib/sprockets-derailleur/manifest.rb:98:in `block in worker' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-derailleur-0.0.9/lib/sprockets-derailleur/manifest.rb:90:in `fork' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-derailleur-0.0.9/lib/sprockets-derailleur/manifest.rb:90:in `worker' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-derailleur-0.0.9/lib/sprockets-derailleur/manifest.rb:30:in `block (2 levels) in compile' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-derailleur-0.0.9/lib/sprockets-derailleur/manifest.rb:29:in `times' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-derailleur-0.0.9/lib/sprockets-derailleur/manifest.rb:29:in `block in compile' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/2.1.0/benchmark.rb:279:in `measure' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/sprockets-derailleur-0.0.9/lib/sprockets-derailleur/manifest.rb:10:in `compile' 
    from /home/map7/code/pais/config/initializers/sprockets_derailleur.rb:11:in `compile' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/turbo-sprockets-rails3-0.3.14/lib/turbo-sprockets/tasks/assets.rake:108:in `internal_precompile' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/turbo-sprockets-rails3-0.3.14/lib/turbo-sprockets/tasks/assets.rake:115:in `block (3 levels) in <top (required)>' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:240:in `call' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:240:in `block in execute' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:235:in `each' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:235:in `execute' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/task.rb:165:in `invoke' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:150:in `invoke_task' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `block (2 levels) in top_level' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `each' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:106:in `block in top_level' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:115:in `run_with_threads' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:100:in `top_level' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:78:in `block in run' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:176:in `standard_exception_handling' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/application.rb:75:in `run' 
    from /usr/local/rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/rake-10.3.2/bin/rake:33:in `<top (required)>' 
    from ./bin/rake:16:in `load' 
    from ./bin/rake:16:in `<main>' 
/home/map7/code/pais/config/initializers/sprockets_derailleur.rb:11:in `compile' 
Tasks: TOP => assets:precompile:all 
(See full trace by running task with --trace) 
rake aborted! 
Command failed with status (1): [/usr/local/rbenv/versions/2.1.5/bin/ruby ....] 

Tasks: TOP => assets:precompile 
(See full trace by running task with --trace) 

zu kompilieren versuchen Wenn ich die Winkel material.layouts.ie_fixes.scss Datei umbenennen im Juwel .bak dann funktioniert es, aber das ist nicht ein gute Lösung.

Gibt es eine Möglichkeit, diese Datei vorläufig in den Assets auszuschließen: Vorkompilieren?

UPDATE

Hier sind die Linien von dem Winkel material.layouts.ie_fixes.scss Datei, ich glaube, es um die Linie tatsächlich beschwert 23, obwohl sie sagt, 25.

23 @media screen\0 
24 and (max-width: 599px) { 
25  .flex-xs { 
26   -webkit-flex: 1 1 0%; 
27   -ms-flex: 1 1 0%; 
28   flex: 1 1 0%; 
29  } 
30 } 

UPDATE

Hier ist der obere Teil meiner application.scss Datei

/* 
*= require angular-bootstrap 
*= require angular-xeditable 
*= require app/bower_components/angular-material/angular-material.min 
*= require app/bower_components/angular-material-data-table/dist/md-data-table 
*= require textAngular 
*= require header 
*= require nav 
*= require tables 
*= require error 
*= require help 
*= require dashboard 
*= require listing 
*= require form 
*= require timesheets 
*= require invoices 
*= require reports 
*= require print 
*= require jquery.ui.datepicker 
*= require font-awesome 
*= require ng-table 
*/ 

/* 
    all.css.scss 

    Holds global styles for common elements throughout all pages which are not covered in specific stylesheets. 

*/ 
@import "global.css.scss"; 
@import url(https://fonts.googleapis.com/css?family=Roboto:300,500,700); 
... 
+0

können Sie den Code um "Winkel material.layouts.ie_fixes.scss: 25" einfügen? –

+0

Löscht das Löschen der problematischen Zeile es vorübergehend? – tadman

+0

Wenn ich die 23 bis 30 Zeilen lösche, schlägt es immer noch fehl, aber auf dem nächsten Block, der ziemlich genau derselbe ist, aber mit der maximalen Breite: 600px. Es hat immer noch diesen Bildschirm Code dort. – map7

Antwort

0

Dies ist ein bekanntes Problem in eckigem Material, wie Sie aus here sehen können.

Eine mögliche Abhilfe in der Github Ausgabe vorgeschlagene

@import "angular_material_fixed"; 

zu Ihrem application.scss hinzufügen, dann eine neue Datei in in /app/assets/stylesheets/_angular_material_fixed.scss.erb fügen folgenden Code enthält

<%= 
    # Workaround for this issue: https://github.com/angular/material/issues/6304 
    # TODO: remove this once angular-material 1.0.6 is released 
    original = File.read(File.expand_path('../../../../../vendor/assets/javascripts/bowe r_components/angular-material/angular-material.scss', __FILE__)) 
    original.gsub('screen\0', 'screen ') 
%> 

es ist ein Hack, aber es sollte funktionieren

+0

Ich bekomme immer noch den Fehler. Es scheint sich über angular-material.layout-attributes.min.css & angular-material.layouts.ie_fixes.css zu beschweren, nicht über die angular-material.scss-Datei. Ich habe den Code geändert, um stattdessen mit diesen Dateien zu arbeiten, bekomme aber immer noch den Fehler. Ich denke, das Problem ist das Laden der fehlerhaften CSS-Dateien vor der Behebung. – map7

+0

Vielleicht liegt es daran, dass Sie vor den Stylesheets vorgearbeitet haben? Versuchen Sie, die kompilierten Dateien zu entfernen –

+0

Ich habe das public/assets-Verzeichnis entfernt und bekomme immer noch das gleiche Problem. – map7