2013-02-15 4 views
8

Ruby wird von rbenv installiert.Warum wird in der Eingabe (LoadError) kein Ruby-Skript gefunden?

$ ruby -v 
ruby 1.9.3p327 (2012-11-10 revision 37606) [i686-linux] 

$ which ruby 
/home/user/.rbenv/shims/ruby 

$ which sass 
/home/user/.rbenv/shims/sass 

$ gem list 
*** LOCAL GEMS *** 

bigdecimal (1.1.0) 
bundler (1.2.4) 
io-console (0.3) 
json (1.5.4) 
minitest (2.5.1) 
rake (0.9.2.2) 
rdoc (3.9.4) 
sass (3.2.5) 

Das ist mein config.yml:

# Assetic Configuration 
assetic: 
    // ... 

    ruby: /home/user/.rbenv/shims/ruby 

    filters: 
     cssrewrite: ~ 
     sass: 
      bin: /home/user/.rbenv/shims/sass 

     // ... 

Dies ist der Fehler, den ich bekommen:

[message] An error occurred while running: 
'/home/user/.rbenv/shims/ruby' '/home/user/.rbenv/shims/sass' '--load-path' '/path/to/symfony2/src/My/AnyBundle/Resources/public/css' '--cache-location' '/tmp' '/tmp/assetic_sassYbl6MI' 

Error Output: 
ruby: no Ruby script found in input (LoadError) 

Der Fehler in meinem anderen Setup:

config.yml:

# Assetic Configuration 
assetic: 
    // ... 

    ruby: /home/user/.rbenv/shims/ruby 

    filters: 
     cssrewrite: ~ 
     sass: ~ 

     // ... 

Dies ist der Fehler, den ich bekommen:

Error Output: 
ruby: No such file or directory -- /usr/bin/sass (LoadError) 

Sass funktioniert nicht. Ist es ein Problem, auf das Juwel Bezug zu nehmen?

+0

Dieser Artikel hat mir geholfen, dieses Problem zu lösen: http://vvv.tobiassjosten.net/symfony/compass-loaderror-in-assetic-and-symfony2/?utm_source=feedburner&utm_campaign=Feed%3A+symfony%2Fplanet+%28Symfony+ Blog + Planet% 29 & utm_medium = füttern – scones

Antwort

1

Sf 2.1.7, rvm installiert, installiert Kompass, sass als Juwel, besonders basierend auf Unable to load Sass/Compass after installing RVM, to use with Assetic in Symfony2

parameters: 
# Assetic 
    assetic.filter.compass.images_dir: %kernel.root_dir%/../web/images 
    assetic.filter.compass.http_path: /images 
    assetic.ruby.bin: 'pathToRubyBin' 

Weg ist in Ruby können Sie überprüfen, indem Sie:

which ruby 

wie oben. Für Sass und SCSS Verwendung Kompass Filter:

assetic: 
    debug:   "%kernel.debug%" 
    use_controller: false 
    bundles:  [ FOSUserBundle, XcomplSomeBundle ] 
    #java: /usr/bin/java 
    filters: 
     lessphp: 
      file: %kernel.root_dir%/../vendor/leafo/lessphp/lessc.inc.php 
      apply_to: "\.less$" 
     sass: ~ 
     compass: 
      bin: 'pathtocompass' 
      apply_to: "~\.(sass|scss)$~" 
     cssrewrite: ~ 

Und hier ist Achtung! 10000 Wrapper müssen nicht erstellt werden, wenn Sie rvm oder system ruby ​​verwenden. Nur:

$ which compass 

Und es ist Ihr pathtocompass.

Und jetzt:

{% block stylesheets %} 
    {% stylesheets 'css/general.scss(or .sass)' filter='compass, cssrewrite' output='css/general.css' %} 
     <link rel="stylesheet" type="text/css" media="screen" href={{ asset_url }} /> 
    {% endstylesheets %} 
{% endblock %} 

Schließlich mein gemlist:

~$ gem list 

*** LOCAL GEMS *** 

bigdecimal (1.1.0) 
bundler (1.2.4) 
chunky_png (1.2.7) 
compass (0.12.2) 
fssm (0.2.10) 
io-console (0.3) 
json (1.5.5) 
minitest (2.5.1) 
rake (10.0.3, 0.9.2.2) 
rdoc (3.9.5) 
rubygems-bundler (1.1.0) 
rvm (1.11.3.6) 
sass (3.2.6) 
6

ich diesen Fehler haben nach einem Schienen-Repo-Klonen:

$ rails server 
c:/RailsInstaller/Ruby1.9.3/bin/ruby.exe: no Ruby script found in input (LoadError) 

Das Problem war in bin/rails und bin/rake. Die obere Zeile war #!/usr/bin/env, sollte aber #!/usr/bin/env ruby gewesen sein.

Verwandte Themen