Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What causes this error in grunt-contrib-compass after update to Yosemite?

I am using Yeoman. After upgrading to Yosemite, the tasks grunt server and grunt build throw this error:

/Users/rogerfuentes/Documents/Web/Kelios/test/node_modules/grunt-contrib-compass/node_modules/tmp/lib/tmp.js:261
throw err;
        ^
Error: spawn ENOENT
    at errnoException (child_process.js:1001:11)
    at Process.ChildProcess._handle.onexit (child_process.js:792:34)

What is causing this error, and how can it be fixed?

like image 635
roger06 Avatar asked Oct 17 '14 11:10

roger06


1 Answers

If you run compass on the terminal window, you will see the following error:

-bash: /usr/bin/compass: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory

If you go to the /System/Library/Frameworks/Ruby.framework, you will see the installation has updated Ruby version to 2.0. That's why running the compass fails, because there is no ruby 1.8 anymore.

The solution is to re-install compass on Yosemite by running:

xcode-select --install
sudo gem update --system
sudo gem install compass
like image 141
pro_zw Avatar answered Sep 17 '22 13:09

pro_zw