2014-01-12 4 views
28

Кажется, я не могу заставить компас работать с бродягой, используя this Vagrantfile. См. Остальную часть используемого скрипта bash здесь (удалено репо) (см. Vaprobash, если вы хотите предоставить свою Vagrant Ubuntu Box!).Невозможно использовать компас после его установки

Так что я занимался курсом gruntjs, когда мне пришлось использовать grunt server. Единственная проблема в том, что ему нужна новая рубиновая версия (вместо 1.9 вместо 1.9), и ей нужен компас. Поэтому я решил рубиновую часть, установив RVM и установив последнюю стабильную версию. Компас должен быть легко получить gem install compass, и он, кажется, установлен. Но когда я печатаю в compass -v я получаю ошибку: благородные предшественники

/home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- sass/script/node (LoadError) 
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches/browser_support.rb:1:in `<top (required)>' 
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:2:in `block in <top (required)>' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:1:in `each' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:1:in `<top (required)>' 
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass/sass_extensions.rb:9:in `<top (required)>' 
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass.rb:5:in `block in <top (required)>' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass.rb:4:in `each' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/lib/compass.rb:4:in `<top (required)>' 
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /home/vagrant/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/bin/compass:20:in `block in <top (required)>' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/bin/compass:8:in `fallback_load_path' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/gems/compass-0.12.2/bin/compass:19:in `<top (required)>' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/bin/compass:23:in `load' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/bin/compass:23:in `<main>' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `eval' 
    from /home/vagrant/.rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `<main>' 

Так что я не уверен, что будет неправильно для ошибки, сообщая мне, что не хватает файлов, кроме. Кто-нибудь получил какие-то намеки на то, что может быть проблемой?

bash_profile содержит информацию пути:

[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile 

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function* 

rvm -v и ruby -v работу просто отлично, и после установки gem install compasssass -v, кажется, работают хорошо.

Вы можете копировать все, используя Vagrant и VirtualBox. Просто скачайте Vagrantfile из моего github, упомянутого выше, и vagrant up.

ответ

85

Я попросил о помощи на официальной странице проблемы компаса Github и получил ответ на эту проблему.

Вопрос GitHub правильный here.

Как это исправить:

При установке компаса (v0.12.2), она будет скачать последнюю Sass v3.3.0.rc3 (потому что это зависимость), но компас не будет работать с последними дерзости , Вы либо обновляете компас до последней альфа-версии (0,13. *), Либо понижаете уровень сабса до 3.2. *. Я выбираю последний:

gem uninstall sass --version 3.3.0.rc.3 
gem install sass --version 3.2.18 
compass -v # Working :) 

Убедитесь, что вы используете установленную версию. Узнайте, введя это:

sass --version 
+0

У меня была очень похожая проблема при попытке установить на Mac OS X Mavericks со штоком ruby, и эти шаги решили его, спасибо! – jeromegamez

+1

Отличный !! Я искал какое-то время. Кстати, я на Ubuntu! – knibals

+0

Это тоже работало для меня на Centos 5.8 –

1

взгляните на этот ответ https://stackoverflow.com/a/21082978/497756 - это было для других проблем, но также должно решить вашу проблему.

+0

Ok, поэтому я каждый шаг под паром после свежего Бродячей коробки предоставления и вывода 'Ls $ GEM_HOME/обертки/compass' =' /home/vagrant/.rvm/gems/ рубиновый 2.1.0/обертки/compass'. Не уверен, что делать с результатом. Я все еще получаю ту же ошибку при использовании 'compass -v'.BTW, я не использую Codekit, если это было то, что вы думали? – Ilyes512

+0

try '/home/vagrant/.rvm/gems/ruby-2.1.0/wrappers/compass -v' – mpapis

+0

Да, я тоже это пробовал и получил то же самое. Я также хочу сказать, что я havent использовал любое 'sudo', но если я делаю' sudo gem list' и 'gem list', я получаю 2 разных списка. Компас, однако, я только установлен в списке без 'sudo', так что кажется правильным. – Ilyes512

Смежные вопросы