2017-06-29 2 views
3

Ich bin gerade dabei, meine ReactJS-Umgebung einzurichten, und ich befolge den FrontendMasters-Kurs zum Thema.ESLint mit hübscheren Problemen bei der globalen Installation von Yarn

Nach eslint und über Yarn hübschere global installiert zu haben, der Autor führt diesen Befehl eslint js\**\*.{js,jsx} und auf seiner Maschine, alles ist gut, aber ich habe folgendes:

Hoppla! Etwas ist schief gelaufen! :(

ESLint nicht das Plugin "eslint-plugin-hübschere" gefunden Dies kann für ein paar verschiedenen Gründen geschehen:.

  1. Wenn ESLint global installiert ist, dann stellen Sie sicher, eslint-plugin- auch global installierte hübschere ist ein global installiert ESLint nicht eine lokal installierte Plugin finden

  2. Wenn ESLint lokal installiert ist, dann ist es wahrscheinlich, dass das Plugin nicht korrekt installiert Versuchen sie, indem sie die Neuinstallation folgende:...

    npm i eslint-plugin-hübschere @ neueste --save-dev

Wenn Sie das Problem noch nicht herausfinden können, wenden Sie sich bitte von https://gitter.im/eslint/eslint aufhören mit dem Team zu chatten.

Ich versuchte Google, konnte aber nichts relevantes finden. Warum passiert dies? Ich bin auf 10 Fenster, die neueste Version von Garn (v0.24.6) und meine eslintrc.json mit sieht wie folgt aus:

{ 
    "extends": ["airbnb", "prettier", "prettier/react"], 
    "plugins": ["prettier"], 
    "parserOptions": { 
    "ecmaVersion": 2016, 
    "sourceType": "module", 
    "ecmaFeatures": { 
     "jsx": true 
    } 
    }, 
    "env": { 
    "es6": true, 
    "browser": true, 
    "node": true 
    } 
} 

UPDATE

I Daydream Rat unten gefolgt, obwohl ich nicht nvm haben Eingerichtet. Aber ich löschte den Ordner node_modules, und nach einem Chat in ESLint Gitter, ging ich voran und ESLint und Prettier global deinstalliert. Ich machte dann ESLint und PrettierdevDependencies. Schließlich lief ich yarn Befehl alles neu zu installieren, und ich das jetzt bekommen:

Image

Hinweis: Das Projekt ist Open Source und ist on GitHub, wenn Sie für sich selbst sehen wollen.

+0

Ich nehme an, Sie beabsichtigt Yarn den Paket-Manager zu markieren, anstatt GARN das Projekt Apache? – halfer

+1

Entschuldigung, ja @halfer – Ciwan

Antwort

0

Ich mache auch den Verlauf und die erste Spitze, die ich auf dem Netz sah, war der direkten Weg zu referenzieren über die Installation von Garn in node_modules eslint:

./node_modules/.bin/eslint **/*.{js,jsx} --quiet

Aber dann danach ich wurde mit einer Fehlermeldung mit - Unexpected top-level property "ecmaFeatures"

Letztlich traf, was ich war, das Problem zu lösen, hat node_modules zu löschen, löschen Sie alles von ~/.nvm/versions/node/<the version>/lib/node_modulesAusnahme die npm und yarn Ordnern, und geben Sie einfach yarn ein, um alles neu zu installieren.

Danach, ./node_modules/.bin/eslint **/*.{js,jsx} --quiet funktionierten gut (aber ich hatte immer noch den Pfad zur Installation angeben.

Hoffnung, das hilft!

+0

Ich habe 'nvm' nicht installiert, aber ich habe' node_modules' gelöscht, siehe aktualisierte Frage. – Ciwan

+0

Probieren Sie './node_modules/.bin/eslint ** /. * {Js | jsx} --quiet' Später beim Aufruf von Webpack ruft er es auf ähnliche Weise an (im Grunde rufen Sie den in node_modules 'wenn du Garn zum ersten Mal rannest) –

+0

Versuchte, dass, und habe den gleichen Fehler :( – Ciwan

0

Ich lief in das gleiche Problem selbst. Es scheint ein Problem zu sein mit der neuesten Version von eslint, war mein 4.2.0 dieses ich zu beheben.

run: Yarn remove eslint 
or 
    run: npm uninstall eslint 

diese lokal entfernen, dann

run: yarn add [email protected] 
or run: npm install [email protected] 

    run: eslint **/*.{js,jsx} --quiet 

meine Pfade können anders eingerichtet werden, also tun dies in Verbindung mit "Daydream Nation" Antwort sollten Sie es funktionieren. Ich bin nicht sicher, welche Version os eslint Brian verwendet und ich bin mir sicher, wenn Sie eine seiner letzten Repos herunterziehen, wird es Ihnen sagen, aber hoffentlich wird dies Sie in die richtige Richtung führen.

+1

Ich sollte auch erwähnen, wenn Sie das Frontend Master Video ESLint weiter spielen, werden Sie bemerken, dass andere Leute das gleiche Problem haben und Sie werden Beachten Sie, er verwendet auch [email protected] –

+0

Ich benutze '3.19.0', und immer noch das gleiche Problem.Und yep ich bemerkte, dass ein Kerl ihm über das gleiche Problem. – Ciwan

+0

Auch versuchte den Pfad ändern, wie von vorgeschlagen @DaydreamNation, aber immer noch den gleichen Fehler über 'Modul finden eslint-config-pretty/react' – Ciwan

0

Ich habe mehrere Pakete vermisst. Hier ist, wie ich es behoben habe.

npm i eslint-config-prettier -save-dev 
npm i eslint-config-standard -save-dev 
npm i eslint-plugin-node -save-dev 
npm i eslint-plugin-promise -save-dev 

Hier ist meine package.json

{ 
    "name": "rpp-react", 
    "private": true, 
    "scripts": { 
    "start": "meteor run" 
    }, 
    "dependencies": { 
    "babel-runtime": "^6.20.0", 
    "meteor-node-stubs": "~0.2.4", 
    "prop-types": "^15.5.10", 
    "react": "^15.6.1", 
    "react-addons-pure-render-mixin": "^15.6.0", 
    "react-dom": "^15.6.1", 
    "react-tap-event-plugin": "^2.0.1" 
    }, 
    "devDependencies": { 
    "babel-eslint": "^8.0.0", 
    "eslint": "^4.7.2", 
    "eslint-config-prettier": "^2.5.0", 
    "eslint-config-standard": "^10.2.1", 
    "eslint-plugin-flowtype": "^2.35.1", 
    "eslint-plugin-import": "^2.7.0", 
    "eslint-plugin-jsx-a11y": "^5.1.1", 
    "eslint-plugin-node": "^5.1.1", 
    "eslint-plugin-prettier": "^2.3.1", 
    "eslint-plugin-promise": "^3.5.0", 
    "eslint-plugin-react": "^7.3.0", 
    "eslint-plugin-standard": "^3.0.1", 
    "prettier": "^1.7.0" 
    } 
} 

Hier ist mein .eslintrc.json

{ 
    "extends": [ 
    "standard", 
    "plugin:flowtype/recommended", 
    "plugin:react/recommended", 
    "prettier", 
    "prettier/flowtype", 
    "prettier/react", 
    "prettier/standard" 
    ], 
    "plugins": [ 
    "flowtype", 
    "react", 
    "prettier", 
    "standard" 
    ], 
    "parserOptions": { 
    "sourceType": "module", 
    "ecmaFeatures": { 
     "jsx": true 
    } 
    }, 
    "env": { 
    "es6": true, 
    "node": true 
    }, 
    "rules": { 
    "prettier/prettier": "error" 
    } 
} 
0

Hier können Sie eslint Entwicklung Abhängigkeit global durch installiert:

sudo npm install --global eslint-plugin-react 

Und installieren Sie andere Development Depe Abhängigkeiten im Projektverzeichnis.

  • eslint-config-hübschere
  • eslint-config-reagieren
  • eslint-Plugin-hübschere
  • eslint-Plugin reagieren

Und eslint nicht in der Lage, diese andere Entwicklung Abhängigkeiten zu finden . Sie müssen also alle diese Entwicklungsabhängigkeiten global installieren, um dieses Problem zu lösen.

ODER

Installieren Sie alle jene Entwicklung Abhängigkeiten von Projektverzeichnis und verwenden Sie den Befehl:

~/<project_directory>/node_modules/.bin/eslint **/*.{js,jsx} --quiet 
Verwandte Themen