Как разрешить предупреждение: «Для работы этой задачи необходимо установить Ruby и Sass в PATH»?

117

Я настраиваю новый Mac для работы. Я установил Grunt & Grunt CLI глобально. Затем я сделал npm installвнутри папки проекта, чтобы установить все зависимости.

Пока проблем нет, но как только я пытаюсь запустить sass:distзадачу, получаю предупреждение:

Warning: You need to have Ruby and Sass installed and in your PATH for
this task to work. More info:
https://github.com/gruntjs/grunt-contrib-sass Use --force 
to continue.

Я понимаю, что для выполнения этой задачи мне нужно установить Ruby и Sass на более глобальном уровне. Поскольку я все еще новичок в работе с терминалом, я быстро поискал, что PATHэто - похоже, это какой-то системный путь (который можно изменить), где хранятся важные данные.

Означает ли это, что я могу просто sudo grunt install contrib-sass -gрешить проблему? А как насчет Ruby - я всегда думал, что он уже установлен в OS X?

Sven
источник
Отвечает ли это на ваш вопрос? Grunt sass не имеет установленных ruby ​​и sass?
Сильвиу Бурча,

Ответы:

205

Ладно, я понял. Мне просто нужно было установить Sass, gem install sassи теперь все в порядке ... не может быть проще.

Sven
источник
22
sudo apt-get install ruby-compass: похоже, устанавливаются оба на Ubuntu - Ruby не был установлен в моем случае
myol
18
На моем Mac sudoраньше требовалось gem install sass.
Krzysztof Wolny
1
То же самое и для Windows
Мэтт Кэнти,
1
(Win7) Мне пришлось вручную добавить путь к корзине Ruby в PATH - только после этого сработал sass для установки gem.
Драгош Русу,
91

Если вы используете OSX El Capitan или Yosemite на Mac, похоже, возникла проблема с установкой драгоценного камня.

Пытаться

sudo gem install -n /usr/local/bin sass

Решение было с гитхаба .

Джон Ричард Солт
источник
2
Работает также на Йосемити.
Steve K
1
Хорошо работает для El Capitan!
Максим Лафари
11

Вам необходимо установить Ruby и Sass как:

Для Ruby используйте команду

sudo apt-get install ruby-full

А для Sass используйте команду

sudo gem install sass
Gaurav
источник
1
У меня уже был установлен Ruby, и у меня работала только команда sudo gem install sass.
Данило Кандидо
просто -> gem install sass
Данило Кандидо
6

Документация grunt-sass не очень понятна. Чтобы избежать необходимости в Ruby, вы можете попробовать следующее:

npm uninstall --save grunt-contrib-sass
npm install --save node-sass grunt-sass

Попробуйте, это работает для меня.

ссылка

Йогеш Синория
источник
4
Это лучший ответ в 2020 году. Он заставляет SASS работать как шарм и сохраняет все зависимости локально установленными через npm. При адаптации моего кода от grunt-contrib-sass к grunt-sass мне нужно было внести некоторые изменения в мою конфигурацию grunt, но их пример использования упростил задачу
Александр Райс,
Отлично, спасибо за подсказку! Искал, как избавиться от этой зависимости от Ruby, и вы ответили на него. Однако я бы использовал вместо npm install --save-devэтого, --saveпотому что вам нужен только sass для разработки (я только что отредактировал это в ответе).
Тобиас
2

Вам необходимо установить Ruby и Sass как:

Для Ruby используйте команду

sudo apt-get install ruby-full

А для Sass используйте команду

sudo gem install sass
Руван Бандара
источник
1

Используйте grunt --force, если вы используете grunt. Если вы хотите запустить приложение с использованием grunt, появляется такое предупреждение. Чтобы игнорировать это предупреждение, вы можете использовать --force.

Рохит Катияр
источник
2
Добро пожаловать в Stack Overflow. Вы должны добавить к своему ответу еще какое-то описание. Публиковать ответы одним предложением - не лучшая практика.
filipst 09
1

Также просто brew install saas/sass/sassна Mac High Sierra (10.13.x)

Vaiden
источник
0

Я использовал Homebrew для установки Ruby, а затем Ruby для установки SASS. Вероятно, это лучший способ сделать это, если вы уже используете Homebrew или хотите начать использовать его регулярно ...

brew install ruby
gem install sass
squarecandy
источник