2017-05-12 4 views
2

Ich verwende Husky mit Lint-staged und StylelintHusky geben Fehler Syntaxerror: Die Verwendung von const im Strict-Modus

"scripts": { 
    "precommit": "lint-staged", 

    }, 
    "lint-staged": { 
    "*.scss": ["stylelint --syntax scss" 
    ] 
    }, 

OS - Neueste OSX

Node - 6.10.0

NPM - 3.10.00

Ich erhalte diesen Fehler unter git commit

> husky - npm run -s precommit 

/Users/jitendravyas/app/node_modules/lint-staged/src/index.js:6 
const path = require('path') 
^^^^^ 
SyntaxError: Use of const in strict mode. 
    at exports.runInThisContext (vm.js:73:16) 
    at Module._compile (module.js:443:25) 
    at Object.Module._extensions..js (module.js:478:10) 
    at Module.load (module.js:355:32) 
    at Function.Module._load (module.js:310:12) 
    at Module.require (module.js:365:17) 
    at require (module.js:384:17) 
    at Object.<anonymous> (/Users/jitendravyas/app/node_modules/lint-staged/index.js:2:1) 
    at Module._compile (module.js:460:26) 
    at Object.Module._extensions..js (module.js:478:10) 

> husky - pre-commit hook failed (add --no-verify to bypass) 
> husky - to debug, use 'npm run precommit' 

Antwort

0

Ich vermute, Sie brauchen einen Klecks passieren, was für stylelint Fussel-Dateien auch:

"scripts": { 
    "precommit": "lint-staged", 

}, 
"lint-staged": { 
    "*.scss": ["stylelint \"**/*.scss\" --syntax scss" 
    ] 
}, 
4

I Knoten 7.10.0 und hatte das gleiche Problem mit wurde. Ich habe an issue logged on it's repo gefunden, wo mmoutenot eine interessante Antwort gepostet hat, die mich zum Nachdenken gebracht hat, also habe ich weiter darüber nachgedacht und die Lösung gefunden!

Husky geht davon aus, dass jeder benutzt NVM Knoten Versionen zu verwalten und sucht unter NVM_DIR (Satz $HOME/.nvm) oder mit brauen installiert, wenn BREW_NVM_DIR (Satz /usr/local/opt/nvm)

wenn entweder Pfad vorhanden ist als lädt es die Knotenversion mit load_nvm.

Wenn ich zunächst mit Knoten zu arbeiten beginne ich tat n zu NVM aber später zog über die Verwendung und nicht erkennen, dass .nvm unter dem Home-Verzeichnis hatte aufgeräumt nicht so es einen Hinweis wurde ältere Version des Knotens (0.12.7) - was den oben genannten Fehler verursacht hat.

Wenn Sie nvm immer noch verwenden, um Knotenversionen zu verwalten, stellen Sie bitte sicher, dass Sie die Knotenversion aktualisieren, die ES6-Funktionen unterstützt (const in diesem Fall).

Wenn Sie nvm nicht verwenden, stellen Sie sicher, dass der nvm nicht auf den oben genannten Pfaden verfügbar ist. Husky endet mit der aktuellen Version in diesem Fall (das heißt 6.10.0 in Ihrem Fall)

Alternativ können Sie die Lösung versuchen, die mmoutenot auf husky issue erwähnt

Verwandte Themen