Bonjour, je souhaite travailler avec sass donc j'ai installé sass et node-sass.
Lorsque je tape la commande npm list et sass et node-sass apparaissent bien dans la liste.
J'ai aussi un fichier package.json , sass et node-sass apparaissent aussi dans la ligne dépencies.
Avec ça j'en conclu qu'ils sont bien installé.

Mais pour en avoir la preuve certaine je test avec sass --version et node-sass -v
et j'obtiens sass command not found

Si quelqu'un pouvait m'explique à quoi est dû ce problème je lui en serait très reconnaissant.
Je précise aussi que je travail avec atom et sur mac.
Merci à vous

5 réponses


Tu as installé sass en global aussi? Il faut que les packet soient installés en global pour pouvoir utiliser la fonction, sinon sass se trouvera dans ton projet, mais pas dans windows
npm list va lister les packages du projet, pas de windows ;)
npm install -g sass

Si tu veux savoir quels packets sont dispo en commandes direct et pas uniquement dans le projet, utilises le list global:
npm list -g

shep-ard
Auteur

Alors je travail sur mac et quand je faisnpm list -g je vois bien sass et node-sass dans la list après peut être que sur mac ça fonctionne différemment mais je ne comprend vraiment pas pourquoi ça ne fonctionne pas.

Mmmmh bizarre :/

Essayes de passer la commande en sudo sudo sass -v
Si ca fonctionne, c'est que sass est installé dans un dossier sbin, mais pas dans bin, ce qu'il faudra faire c'est cette commande:

ln -s path/to/sbin/sass path/to/bin/sass

(Sur Debian ces deux dossiers sont à la racine, mais sur mac je sais pas où se trouvent ces dossier, peut etre à la racine aussi, du coup y'aurait juste à faire /sbin/sass, ou alors il n'est installé que pour un utilisateur, du coup il sera dans /usr/sbin ou /usr/bin, faudra le passer dans le bin global à la racine)

Ca va créer un lien symbolique, du coup quand tu lanceras sass -v, la commande va chercher le script dans bin, et le script bin va dire a la machine d'aller voir le script dans sbin :)

Si même en sudo ça ne fonctionne pas, il faudra passer par un autre gestionnaire de packet, le mieux serait de tester avec Ruby, ou deuxieme solution de placer manuellement la commande sass:

Dégà regardes si il est présent:
ruby -v

Normalement sur mac c'est présent nativement mais au cas ou il n'y a pas fais un coup de
brew install ruby (faudra installer homebrew si tu l'as pas x))

Ensuite regardes si gem contient sass:
gem list --local

Et si il n'y est pas, lances sudo gem install sass

Et testes le resultat avec sass -v :p

shep-ard
Auteur

merci pour ta réponse et le petit tuto haha,
J'ai fait ce que tu as dit avec la commande gem et sudo gem install sass
malheureusement j'ai eu un message d'erreur:

Building native extensions. This could take a while...
ERROR:  Error installing sass:
        ERROR: Failed to build gem native extension.

    current directory: /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.0/ext/ffi_c
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib
/ruby/2.6.0 -r ./siteconf20210514-8978-1rtbcfg.rb extconf.rb
checking for ffi.h... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/$(RUBY_BASE_NAME)
        --with-ffi_c-dir
        --without-ffi_c-dir
         --with-ffi_c-include
        --without-ffi_c-include=${ffi_c-dir}/include
        --with-ffi_c-lib
        --without-ffi_c-lib=${ffi_c-dir}/lib
        --enable-system-libffi
        --disable-system-libffi
        --with-libffi-config
        --without-libffi-config
        --with-pkg-config
        --without-pkg-config
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:467:in `try_do': The compiler failed to generate an
 executable file. (RuntimeError)
You have to install development tools first.
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:585:in `block in try_compile'
from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:534:in `with_werror'
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:585:in `try_compile'
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:1109:in `block in have_header'
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:959:in `block in checking_for'
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:361:in `block (2 levels) in postpone'
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:331:in `open'
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:361:in `block in postpone'
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:331:in `open'
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:357:in `postpone'
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:958:in `checking_for'
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:1108:in `have_header'
        from extconf.rb:10:in `system_libffi_usable?'
        from extconf.rb:42:in `<main>'

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /Library/Ruby/Gems/2.6.0/extensions/universal-darwin-19/2.6.0/ffi-1.15.0/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.0 for inspection.
Results logged to /Library/Ruby/Gems/2.6.0/extensions/universal-darwin-19/2.6.0/ffi-1.15.0/gem_make.out

En gros je n'ais pas pu l'installer peut être que je dois réinstaller ruby avec une autre versions?

shep-ard
Auteur

c'est bon j'ai pu installer sass merci avec ton petit tuto ,il fallait juste que je réinstalle ruby car je n'avais pas la bonne version.
Merci beaucoup pour ton aide c'est grave cool !!! : D

Ah okay oui c'est vrai que en général quand tu installes un nouveau packet c'est recommandé de faire un up du gestionnaire a chaque fois au cas ou il y ait une nouvelle structure x)

De rien avec plaisir ;)