2013-02-15 22 views
8

Ruby được cài đặt bởi rbenv.Tại sao không tìm thấy tập lệnh Ruby trong đầu vào (LoadError)?

$ 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) 

Đây là config.yml tôi:

# Assetic Configuration 
assetic: 
    // ... 

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

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

     // ... 

Đây là lỗi tôi nhận được:

[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) 

Các lỗi trong thiết lập khác của tôi:

config.yml:

# Assetic Configuration 
assetic: 
    // ... 

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

    filters: 
     cssrewrite: ~ 
     sass: ~ 

     // ... 

Đây là lỗi tôi nhận được:

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

Sass không hoạt động. Có vấn đề gì khi tham khảo đá quý?

+0

Bài viết này đã giúp tôi giải quyết vấn đề này: http://vvv.tobiassjosten.net/symfony/compass-loaderror-in-assetic-and-symfony2/?utm_source=feedburner&utm_campaign=Feed%3A+symfony%2Fplanet+%28Symfony+ Blog + Hành tinh% 29 & utm_medium = nguồn cấp dữ liệu – scones

Trả lời

1

Sf 2.1.7, RVM cài đặt, cài đặt la bàn, sass như đá quý, particulary dựa trên 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' 

đường dẫn đến ruby ​​bin bạn có thể kiểm tra bằng cách:

which ruby 

như trên. Để sử dụng bộ lọc la bàn và bộ lọc la bàn:

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: ~ 

Và đây là Cảnh báo! Không cần giấy gói 100500 để tạo nếu bạn sử dụng rvm hoặc ruby ​​hệ thống. Chỉ cần:

$ which compass 

Và đó là trình biên dịch đường dẫn của bạn.

Và bây giờ:

{% 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 %} 

Cuối cùng, gemlist tôi:

~$ 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

Tôi đã có lỗi này sau khi nhân bản một repo ray:

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

Vấn đề là ở bin/railsbin/rake. Dòng trên cùng là #!/usr/bin/env, nhưng phải là #!/usr/bin/env ruby.

Các vấn đề liên quan