Что вызывает эту ошибку в grunt-contrib-compass после обновления до Yosemite?


Я использую Йомена. После обновления до Yosemite задачи grunt server и grunt build выдают следующую ошибку:

/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)
Что вызывает эту ошибку и как ее можно исправить?
1 8

1 ответ:

Если вы запустите compass в окне терминала, вы увидите следующую ошибку:

- bash: / usr / bin / compass:/System/Library/Framework / Ruby.framework / Versions / 1.8 / usr/bin / ruby: плохой интерпретатор: нет такого файла или каталога

Если вы перейдете к /System/Library/Frameworks/Ruby.framework, вы увидите, что установка обновила версию Ruby до 2.0. Вот почему запуск компаса терпит неудачу, потому что больше нет ruby 1.8.

Решение состоит в том, чтобы повторно установить compass на Yosemite с помощью работает:

xcode-select --install
sudo gem update --system
sudo gem install compass