Comment résoudre "Vous devez avoir Ruby et Sass installés et dans votre PATH pour que cette tâche fonctionne" Avertissement?


117

Je suis en train de configurer un nouveau Mac pour le travail. J'ai installé Grunt & Grunt CLI dans le monde entier. Ensuite, j'ai fait un npm installdossier à l'intérieur d'un projet pour installer toutes les dépendances.

Aucun problème jusqu'à présent, mais dès que j'essaye d'exécuter la sass:disttâche, j'obtiens cet avertissement:

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.

Ce que je comprends, c'est que j'ai besoin d'installer Ruby et Sass à un niveau plus global pour que cette tâche s'exécute. Comme je suis encore assez nouveau dans le travail avec le terminal, j'ai fait une recherche rapide pour savoir ce qui PATHest - semble être un chemin système (qui peut être changé) où les données importantes sont stockées.

Cela signifie-t-il que je peux simplement faire une sudo grunt install contrib-sass -gpour résoudre le problème? Et qu'en est-il de Ruby - j'ai toujours pensé qu'il était déjà installé sur OS X?


Est-ce que cela répond à votre question? Grunt sass n'a pas installé ruby ​​and sass?
Silviu Burcea

Réponses:


205

OK j'ai compris. Je devais juste installer Sass en utilisant gem install sasset maintenant tout va bien ... ne pourrait pas être plus facile.


22
sudo apt-get install ruby-compass: semble installer les deux sur Ubuntu - Ruby n'a pas été installé dans mon cas
myol

18
Sur mon Mac sudoétait nécessaire avant gem install sass.
Krzysztof Wolny

1
C'est la même chose pour Windows
Matt Canty

1
(Win7) J'ai dû ajouter manuellement le chemin de la corbeille Ruby dans PATH - ce n'est qu'après que l'installation de la gemme a fonctionné.
Dragos Rusu


11

Vous devez installer Ruby et Sass en tant que:

Pour Ruby, utilisez la commande

sudo apt-get install ruby-full

Et pour Sass, utilisez la commande

sudo gem install sass

1
J'avais déjà installé ruby ​​et seule la commande sudo gem install sass fonctionnait pour moi.
Danilo Cândido

just -> gem install sass
Danilo Cândido

6

La documentation de grunt-sass n'est pas très claire. Pour éviter le besoin de Ruby, vous pouvez essayer ceci:

désinstaller npm --save grunt-contrib-sass
npm install --save node-sass grunt-sass

Essayez ça, ça marche pour moi.

référence


4
C'est la meilleure réponse en 2020. Cela fait fonctionner SASS comme un charme et conserve toutes les dépendances installées localement via npm. Lors de l'adaptation de mon code de grunt-contrib-sass à grunt-sass, j'avais besoin de faire quelques ajustements à ma configuration de grunt, mais leur exemple d'utilisation a facilité les choses
Alexander Rice

Super, merci pour la pointe! J'avais cherché comment se débarrasser de cette dépendance à Ruby et vous y avez répondu. Je voudrais cependant utiliser plutôt npm install --save-devau lieu de --saveparce que vous n'avez besoin que de sass pour le développement (je viens de modifier cela dans la réponse).
Tobias

2

Vous devez installer Ruby et Sass en tant que:

Pour Ruby, utilisez la commande

sudo apt-get install ruby-full

Et pour Sass, utilisez la commande

sudo gem install sass

1

Utilisez grunt --force si vous utilisez grunt. Si vous souhaitez exécuter une application en utilisant grunt et qu'un avertissement se produit comme celui-ci. Pour ignorer cet avertissement, vous pouvez utiliser --force.


2
Bienvenue dans Stack Overflow. Vous devriez ajouter une description supplémentaire à votre réponse. Il n'est pas recommandé de publier des réponses avec une seule phrase.
filipst

1

Aussi simplement brew install saas/sass/sasssur Mac High Sierra (10.13.x)


0

J'ai utilisé Homebrew pour installer Ruby puis Ruby pour installer SASS. Probablement la meilleure façon de le faire si vous utilisez déjà Homebrew, ou si vous souhaitez commencer à l'utiliser régulièrement ...

brew install ruby
gem install sass
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.