Essayer d'installer LESS/SASS. Et obtenir cette erreur après avoir installé node.js sous Linux 16.04 . Installé le compilateur LESS et le npm de mise à jour pour procéder à l’installation de SASS où j’ai échoué et où je suis maintenant bloqué.
Ensuite, cette erreur s'est produite:
$Sudo npm update npm -g
/usr/local/lib/node_modules/npm/bin/npm-cli.js:82
let notifier = require('update-notifier')({pkg})
^^^
Message d'erreur
SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:442:10)
at startup (node.js:136:18)
at node.js:966:3
Depuis lors, je ne peux pratiquement plus rien faire. Pas même exécuter une commande simple comme npm -v
. Je vais avoir le même problème encore et encore.
Pourrais-tu m'aider s'il te plaît?
Il s'agit d'un bug signalé sur npm, dont les versions supérieures à 6.0.0 ne prennent pas en charge les versions de nœud sous Node 6.0.0 . Si vous exécutez node -v on soupçonne fort que votre version de nœud est antérieure à Node 6.0.0
J'ai rencontré les mêmes difficultés en mettant à niveau innocemment npm de la version 2.14.20 vers la dernière version stable, avec NodeJS sous v4.4.0 . Le problème est que vous ne pouvez pas simplement mettre à niveau Node car, comme vous l'avez mentionné, npm est totalement bloqué.
Donc, je ai enlevé le noeud en utilisant la méthode décrite dans cette question :
J'ai localisé le répertoire dans lequel les composants de nœud étaient stockés:
which node #this returned /path/bin/node
Puis lancez cd /path
Et finalement courir
rm -r bin/node bin/node-waf include/node lib/node lib/pkgconfig/nodejs.pc share/man/man1/node.1
après cela, node -v
et npm -v
ne renverraient rien.
Donc, je ai téléchargé le paquet du noeud pour Linux: noeud-v8.11.3-linux-x64.tar.gz , je l'ai stocké dans/tmp et je l'ai décompressé:
tar --strip-components 1 -xzf /tmp/node-v8.11.3-linux-x64.tar.gz
Exécutez à nouveau npm -v
et node -v
pour vérifier la version. Ils devraient être tous les deux améliorés.
J'espère que cela t'aides. :)
let
et const
étant la syntaxe ECMAScript2015, vous pouvez essayer de mettre à niveau votre node.js vers une version plus récente (ou la plus récente) prenant en charge la syntaxe es6. Le message d'erreur dit "pas encore pris en charge en dehors du mode strict".
Cela ressemble à un coup de pied pour tout le paquet et sa réinstallation, suivi par les paquets précédents "autoremove" résolus. Merci beaucoup les gars!