2014-04-30 11 views
5

Jestem całkiem nowy w użyciu pomruku, kompasu i sassa i mam problem z uruchomieniem go. Mam instalację Redhat z Drupal 7 i gdy próbuję uruchomić „kompas grunt” od wewnątrz katalogu tematycznego witryny pojawia się następujący błąd:Błąd "pomijanie kompasu", którego nie ma w systemie ŚCIEŻKA

Running "compass:dist" (compass) task 
Warning: You need to have Ruby and Compass installed and in your system PATH for this task  to work. More info: https://github.com/gruntjs/grunt-contrib-compass Use --force to continue. 

Aborted due to warnings. 

mam zainstalowane Grunt, altana, i wykorzystywane „wiązka zainstalować "aby zainstalować potrzebne klejnoty. Po uruchomieniu "listy klejnotów" otrzymuję:

bigdecimal (1.2.4) 
breakpoint (2.0.7) 
bundler (1.6.2) 
bundler-unload (1.0.2) 
chunky_png (1.3.1) 
compass (0.12.6) 
compass-normalize (1.4.3) 
executable-hooks (1.3.1) 
fssm (0.2.10) 
gem-wrappers (1.2.4) 
io-console (0.4.2) 
json (1.8.1) 
kss (0.5.0) 
minitest (4.7.5) 
psych (2.0.3) 
rake (10.1.0) 
rdoc (4.1.0) 
ruby (0.1.0) 
rubygems-bundler (1.4.3) 
rubygems-update (2.2.2) 
rvm (1.11.3.9) 
sass (3.2.19) 
test-unit (2.1.1.0) 
zurb-foundation (4.3.2) 

Wygląda na to, że mam wszystkie potrzebne klejnoty. Potem spojrzał na moje ustawienia ścieżki poprzez 'echo $ PATH' i mam następujące:

/home/ec2-user/.rvm/gems/ruby-2.1.1/bin:/home/ec2-user/.rvm/gems/[email protected]/bin:/home/ec2-user/.rvm/rubies/ruby-2.1.1/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/bin:/home/ec2-user/.rvm/bin 

Spojrzałem na ścieżkach i zobaczyć, że w/usr/bin mam ruby2.0 w/home/ec2- użytkownik/bin Mam kompas, więc instalacje wydają się być w systemie PATH.

Kiedy uruchamiam „ruby2.0” z linii poleceń pojawia się następujący:

/usr/local/share/ruby/site_ruby/2.0/rubygems/ext/builder.rb:12:in `<class:Builder>': uninitialized constant Gem::UserInteraction (NameError) 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/ext/builder.rb:10:in `<top (required)>' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/ext.rb:13:in `<top (required)>' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/specification.rb:1431:in `build_extensions' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/stub_specification.rb:60:in `build_extensions' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/basic_specification.rb:56:in `contains_requirable_file?' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/specification.rb:925:in `block in find_inactive_by_path' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/specification.rb:924:in `each' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/specification.rb:924:in `find' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/specification.rb:924:in `find_inactive_by_path' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems.rb:185:in `try_activate' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/core_ext/kernel_require.rb:132:in `rescue in require' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/core_ext/kernel_require.rb:144:in `require' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/user_interaction.rb:8:in `<top (required)>' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/config_file.rb:7:in `<top (required)>' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/specification.rb:1430:in `build_extensions' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/stub_specification.rb:60:in `build_extensions' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/basic_specification.rb:56:in `contains_requirable_file?' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/specification.rb:925:in `block in find_inactive_by_path' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/specification.rb:924:in `each' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/specification.rb:924:in `find' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/specification.rb:924:in `find_inactive_by_path' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems.rb:185:in `try_activate' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/core_ext/kernel_require.rb:132:in `rescue in require' 
from /usr/local/share/ruby/site_ruby/2.0/rubygems/core_ext/kernel_require.rb:144:in `require' 
from <internal:abrt_prelude>:2:in `<compiled>' 

Kiedy biegnę po prostu „rubin” nic się nie dzieje. Czy "gruntowy kompas" szuka "ruby", a zamiast tego mam "ruby2.0"? Czy muszę utworzyć dowiązanie symboliczne z ruby ​​-> ruby2.0?

Kiedy uruchamiam 'kompas' z wiersza poleceń uzyskać:

Zastosowanie: kompas help [polecenie]

Description: 
    The Compass Stylesheet Authoring Framework helps you 
    build and maintain your stylesheets and makes it easy 
    for you to use stylesheet libraries provided by others. 

Itd

Wszelkie myśli byłyby doceniane

+1

Wystarczy, aby potwierdzić, Kompas działa normalnie kiedy używasz go poza Gruntem? Jesteś w stanie oglądać/kompilować/etc? – cimmanon

+0

Mogłem uruchomić "zegarek kompasu", a arkusz stylów został nadpisany. Jednakże otrzymałem następujące informacje: Errno :: EACCES on line ["146"] /home/ec2-user/.rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/tempfile.rb: Odmowa uprawnień @ rb_sysopen - /var/www/html/drupal/sites/all/themes/nazwa_metod/assets/css/site_styles.css20140430-4672-pmg71i – spinsheet

Odpowiedz

0

grunt compass szuka ruby ​​gem. W twoim przypadku "compass -v" nie powoduje błędu, więc część kompasu działa dobrze. poza tym nie zależy od żadnego innego składnika ruby.

Teraz, gdy kompas jest gotowy, grunt compass szuka również modułu npm grunt-contrib-compass, który można znaleźć w pliku package.json. Jeśli zrobisz npm install ten pakiet npm zostanie zainstalowany i uważam, że powinien sprawić, że zadziała grunt compass.

1

Robiłem niektóre badania na tym i następnych pracował dla mnie ...

Jeśli masz okna zbudować z Ruby i Kompas zainstalowane poprzez CLI następnie spróbuj ;

  • Panel sterowania> System> Zaawansowane ustawienia systemu
  • Zaawansowane> Zmienne środowiskowe
  • Pod zmienne system wyszukiwania dla „path” zmiennej, która powinna mieć wartość
  • koniec kliknij edytować i dodawać ;C:\Ruby193\bin u bardzo koniec wartości zmiennej.

To powinno wystarczyć.

Należy pamiętać, że ;C:\Ruby193\bin dotyczy instalacji Ruby> Compass na komputerze.

Jeśli masz Mac zbudować to może podobna wersja poprawki może pracować dla Mac, ale nie mogłem map to dla ciebie, trochę Googling może pomóc ...

Powiązane problemy