2014-01-12 14 views
28

Ich bin nicht in der Lage, Kompass mit Vagrant über this Vagrantfile arbeiten zu lassen. Siehe den Rest des Bash-Skripts verwendet hier (remove repo) (siehe Vaprobash, wenn Sie Ihre Vagrant Ubuntu Box bereitstellen möchten!).Kann den Kompass nach der Installation nicht verwenden

Also habe ich einen gruntjs Kurs absolviert, als ich grunt server verwenden musste. Das einzige Problem ist, dass es eine neuere Ruby-Version (1.9+ glaube ich statt der 1.8) braucht und es Kompass braucht. Also habe ich den Ruby-Teil gelöst, indem ich RVM installiert und die neueste stabile Version installiert habe. Kompass sollte leicht zu bekommen sein gem install compass und es scheint zu sein installiert. Aber wenn ich in compass -v geben erhalte ich die Brache Fehler:

/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>' 

So bin ich nicht sicher, was außer falsch läuft für den Fehler sagen mir, es fehlt Dateien. Jeder hat ein paar Hinweise auf das Problem?

Bash_profile enthält den Pfad Info:

[[ -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 und ruby -v gut funktionieren und nach gem install compasssass -v Installation scheint, als gut zu funktionieren.

Sie können alles mit Vagrant und VirtualBox replizieren. Laden Sie einfach die Vagrantfile von meinem oben erwähnten GitHub und vagrant up.

Antwort

85

Ich bat um Hilfe auf der offiziellen Kompass Github-Seite und bekam die Antwort für dieses Problem.

Das GitHub-Problem ist richtig here.

Wie dieses Problem zu beheben:

Wenn Kompass (v0.12.2) installieren, wird es die letzte sass v3.3.0.rc3 herunterladen (weil es eine Abhängigkeit ist), aber Kompass wird mit der neuesten sass nicht funktionieren . Sie upgraden entweder den Kompass auf die neueste Alpha-Version (0.13. *) Oder degradieren Sass auf 3.2. *. Ich wähle die letzte:

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

Stellen Sie sicher, dass Sie die Version verwenden, die Sie installiert haben. Finden Sie heraus, durch diese Eingabe:

sass --version 
+0

Ich hatte ein sehr ähnliches Problem bei der Installation auf Mac OS X Mavericks mit dem Lager Rubin und diese Schritte lösten es, danke! – jeromegamez

+1

Großartig !! Ich habe eine Weile gesucht. Ich bin übrigens auf Ubuntu! – knibals

+0

Das hat auch bei Centos 5.8 funktioniert –

1

werfen Sie einen Blick auf diese Antwort https://stackoverflow.com/a/21082978/497756 - es war für andere Probleme, aber sollte auch Ihre lösen.

+0

Ok, so fallowed ich jeden Schritt nach einer frischen Vagrant Box Provisioning und die Ausgabe von 'ls $ GEM_HOME/Wrapper/compass' =' /home/vagrant/.rvm/gems/ Ruby-2.1.0/Wrapper/Kompass. Nicht sicher, was mit dem Ergebnis zu tun ist. Ich bekomme immer noch den gleichen Fehler, wenn ich 'compass -v'BTW benutze, ich benutze kein Codekit, wenn das das ist was du dachtest? – Ilyes512

+0

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

+0

Ja, das habe ich auch probiert und habe das selbe bekommen. Ich möchte auch sagen, dass ich kein 'sudo' benutzt habe, aber wenn ich' sudo gem list' und 'gem list' mache, bekomme ich 2 verschiedene Listen. Compass jedoch habe ich nur in der Liste ohne 'sudo' installiert, das scheint richtig zu sein. – Ilyes512