Eslint не является внутренней или внешней командой исполняемой программой или пакетным файлом
Я пытаюсь установить eslint и запустить его в коде vs. Я выполнил эту команду:
Используйте npm ls -g , чтобы получить местоположение, в котором устанавливаются ваши глобальные переменные, затем убедитесь, что оно находится в вашем файле PATH . По крайней мере, в Windows это полураспространенная проблема при первой настройке.
Модуль не eslint должен быть установлен в global.
вместо этого вы должны установить eslint-cli модуль в файл global.
Итак, сначала установите eslint- cli глобально:
затем в папке проекта: установите eslint локально
Затем в папке проекта вы можете запустить что-то вроде: (в Windows)
Почему он не работает с npm install --save-dev eslint-cli и требует глобальной установки? Другие библиотеки, такие как nodemon, можно использовать из консоли, если они зависят от разработчиков.
Что ж, если вы пользователь Windows и установка eslint-cli у вас не работает, попробуйте использовать:
Или вы можете использовать npx , который позволяет запускать команды локально node_modules/.bin
Если вы пряжа , вы можете просто использовать:
1- Этот ответ обновлен, чтобы включить пряжу и npx. 2- Эта проблема связана с модулями, установленными локально.
Хорошо, это решило мою проблему, но одну вещь вы упустили . обратная косая черта не будет работать в Windows cmd или gitbash, поскольку каталог вместо этого действует как escape-символ, поэтому вместо этого используйте косую черту, я просто отредактирую ваш ответ, если вы этого не сделаете разум.
Опубликованное решение работает для меня: Шаг 1: установка eslint глобально npm -gi eslint-cli
Шаг 2: eslint установить локально npm i eslint --save-dev
добавление еще 2 шага: Шаг 3: eslint --init
Он задает различные вопросы, например √ Как бы вы хотели использовать ESLint? · стиль √ Какие типы модулей используются в вашем проекте? · нет √ Какой фреймворк использует ваш проект? · нет √ Использует ли ваш проект TypeScript? · Нет / Да √ Где работает ваш код? · браузер √ Как бы вы хотели определить стиль для своего проекта? · подсказка √ В каком формате вы хотите, чтобы ваш файл конфигурации был? · JavaScript √ Какой стиль отступов вы используете? · вкладка √ Какие кавычки вы используете для строк? · сингл √ Какие окончания строк вы используете? · unix √ Требуются ли точки с запятой? · Нет да
Ответьте на них в зависимости от ваших потребностей.
Шаг 4: eslint yourfile.js Это покажет ошибки/предупреждения с вашим файлом. Таким образом, процесс линтинга для js-файла завершается.
ESLint не работает для меня в VS Code. У меня есть плагин, установленный в VS Code, и сам ESLint как зависимость разработчика в моем package.json, который я также установил.
Я изменил следующую опцию в настройках пользователя кода VS:
Я использовал команду eslint --init , чтобы добавить базовый .eslintrc.json в главный каталог моего пакета.
Другие люди смогли получить отзывы ESLint от VS Code, используя точно такой же пакет с точно таким же файлом конфигурации ESLint.
Я не получил никакой обратной связи, когда напрямую нарушал несколько правил, которые все были включены в рекомендуемый набор правил, который по умолчанию находится внутри файла .eslintrc.json .
Что мне не хватает?
Редактировать: я тестировал с помощью ESLint через командную строку, и все работало, как ожидалось, с ошибками, найденными там, где они должны быть, однако эти же ошибки никогда не обнаруживались в VS Code. Проблема, кажется, на стороне VS Code, а не ESLint.
Есть несколько причин, по которым ESLint может не дать вам обратную связь. ESLint сначала будет искать ваш файл конфигурации в вашем проекте, и если он не сможет найти там .eslintrc.json, он будет искать глобальную конфигурацию. Лично я устанавливаю ESLint только в каждом проекте и создаю конфигурацию на основе каждого проекта.
Вторая причина, по которой вы не получаете обратную связь, состоит в том, что для получения обратной связи вы должны определить свои правила размещения в файле .eslintrc.json. Если там нет правил или у вас не установлены плагины, вам нужно определить их.
Поскольку вы можете успешно выполнять lint с помощью командной строки, проблема, скорее всего, заключается в конфигурации плагина ESLint .
Если расширение установлено правильно, проверьте все свойства конфигурации, относящиеся к ESLint , как в проекте (рабочее пространство), так и в пользовательском (глобальном) файле settings.json.
Есть несколько вещей, которые могут быть неправильно настроены в вашем конкретном случае; для меня это был отключен JavaScript после работы с TypeScript в другом проекте, и мой global settings.json в итоге выглядел следующим образом:
Это так часто, что кто-то написал прямую запись в блоге о ESLint не работает в VS Code. Я бы просто добавил, проверьте ваш глобальный user settings.json, прежде чем переопределять конфигурацию локальной рабочей области.
Если вы используете глобальную установку ESLint, все плагины, используемые в вашей конфигурации, также должны быть установлены глобально. Как и для локальной установки. если вы установили локально и правильно настроили локально, но eslint не работает, попробуйте перезапустить IDE. Это только что случилось со мной с VScode.
Настройка рабочих каталогов решила это для меня, так как у меня было несколько проектов с собственными файлами .eslintrc , открытыми в одном и том же окне.
Поместите это в свой .vscode/settings.json
PS: полезная команда для вывода списка всех подкаталогов, содержащих .eslintrc , кроме / node_modules:
find . .eslintrc | grep .eslintrc | grep -v node_modules
У меня была похожая проблема с eslint, сказавшим, что это «. еще не проверял какие-либо файлы», но ничего не сообщалось в консоли проблем VS Code. Однако после обновления VS Code до последней версии (1.32.1) и перезапуска eslint начал работать.
Если ESLint работает в терминале, но не внутри VSCode, вероятно, что расширение не сможет обнаружить библиотеку ESLint из папок локальных и глобальных узловых модулей.
Чтобы проверить, нажмите CTRL + SHIFT + U в VSCode, чтобы перейти к панели «Вывод» после открытия файла JS в вашем проекте. Если отображается «Не удалось загрузить библиотеку ESLint для документа >. Js», значит, при попытке определить путь возникла проблема.
Если да, то установите его вручную, настроив «eslint.nodePath» в настройках. Дайте ему полный путь; Использование переменных среды в настоящее время не поддерживается. Этот вариант был задокументирован на странице расширения ESLint.
В моем случае, поскольку я использовал TypeScript с React, исправление было просто сказать ESLint также проверить эти файлы. Это должно идти в ваших пользовательских настройках:
У меня была похожая проблема на окнах, однако иногда eslint работал (в vscode) иногда нет. Позже я понял, что через некоторое время все работает нормально. Это было связано с этой проблемой: сервер eslint занимает ~ 3-5 минут, пока не станет доступным
Установка переменной среды NO_UPDATE_NOTIFIER=1 решила проблему
Я даю ответ, предполагая, что вы уже определили правила в локальном корне проекта с помощью .eslintrc и .eslintignore . После установки VSCode Eslint Extension несколько настроек, которые нужно сделать в settings.json для vscode
eslint.enable: true
eslint.nodePath:
Установка eslint local в качестве зависимости проекта является последним компонентом для этой работы. Не устанавливайте eslint как глобальный, который может конфликтовать с вашим локальным установленным пакетом.
В моем случае это не сработало, потому что я добавил в проект только одну папку monorepo, хотя у меня были настроены package.json и расширение. Я работал только тогда, когда я добавил весь проект (который содержал файл package.json ) в код VS.
Перезапуск VSCode работал для меня.
В моем случае настройка eslint validate to: "eslint.validate": ["javascript", "javascriptreact", "html", "typescriptreact"], сделала свою работу.
В моем случае ESLint был отключен в моей рабочей области. Мне пришлось включить его в настройках расширений vscode.
В моем случае я не установил расширение ESLint в VSCode, что вызывало проблему. Сделал это, и он снова начал работать.
I'm trying to install eslint & run it in vs code. I ran this command:
and it seemed to work, but I keep getting an error when I try to run eslint :
"'eslint' is not recognized as an internal or external command, operable program or batch file".
Use npm ls -g to get the location where your globals are being installed, then make sure that is in your PATH . On Windows, at least, that's a semi-common issue when first getting things setup.
Can you give more details about your system? If you run npm i -g eslint again does it give any errors?
5 Answers 5
The eslint module must not be installed into global.
instead, you should install eslint-cli module into global.
So, first install eslint-cli gloablly:
then in the project folder: install eslint locally
Then in the project folder you can run someting like: (on Windows)
Why is it not working with npm install --save-dev eslint-cli and it requires a global installation? Other libararies like nodemon can be used from console if they are dev dependencies.
Well, if you are a Windows user and installing eslint-cli is not working for you, try :
Or, you can use npx which lets you run local commands in node_modules/.bin :
For yarn use :
- This answer is updated to include yarn and npx .
- This issue is related to modules installed locally.
Good one this solved my problem but one thing you missed. back slashes wouldnt work in windows cmd or gitbash as directory instead acts as an escape character, so instead use forward slashes, I'll just edit your answer if you don't mind.
Back slashes are correct for the Windows cmd terminal. If you are running the command inside GitBash (for Windows) then use forward slashes.
Solution posted works for me: Step 1: eslint install globally npm -g i eslint-cli
Step 2: eslint install locally npm i eslint --save-dev
adding 2 more step: Step 3: eslint --init
It ask various questions e.g. √ How would you like to use ESLint? · style √ What type of modules does your project use? · none √ Which framework does your project use? · none √ Does your project use TypeScript? · No / Yes √ Where does your code run? · browser √ How would you like to define a style for your project? · prompt √ What format do you want your config file to be in? · JavaScript √ What style of indentation do you use? · tab √ What quotes do you use for strings? · single √ What line endings do you use? · unix √ Do you require semicolons? · No / Yes
Answer them based on your need.
Step 4: eslint yourfile.js This will show errors/warnings with your file. This way linting process is completed for js file.
Мне потребовалось создать свою npx библиотеку. Всё работает хорошо. Но только с заранее установленным пакетом:
Если же просто ввести npx pkg some args , в духе npx create-react-app , то просит установить пакет, а потом выбрасывает ошибку:
Я смотрел на др. репозитории, как сам create-react-app и cowsay , но не нашёл каких-либо кардинальных отличий.
1 ответ 1
Это о-очень интересная ошибка: нужно было просто почистить кэш.
Полазив в source коде npx я понял, что кэш в приоритете и не важно, обновилась версия или нет. Я зашёл в свой кэш (чтобы узнать кэш выполните npm config get cache (об этом я тоже узнал из source кода)) и там были папки с именами PID в hex моих процессов, которыми я устанавливал пакеты (понятно, откуда я об этом узнал). Там были и create-react-app , и cowsay , и мой pkg , в котором я в файле package.json не указал bin , из-за чего соответствующая папка не появилась, из-за чего cmd.exe не может найти executable, из-за чего он и выбрасывает мне эту странную ошибку. Почистив кэш, я вынудил npx установить пакет заново — теперь-то оно работает.
Более коротко. В старой версии pkg я не указал bin , таким он сохранился в кэш и не хотел оттуда вылазить даже при обновлении версии, а кэш у npx в приоритете. Пришлось его оттуда выгонять силой (с помощью Shift + Delete ).
И не надо ничего менять в package.json , не надо никаких ярлыков, никаких самодобавлений в dependencies , нужно было просто почистить кэш. А то, что он не обновляется, я считаю явным багом. Я бы написал issue, да репозиторий архивирован.
А кто-то вчера доказывал, что create-react-app не установлен и все работает так. Как же он, и все остальное, в кеш попало? И для обновления можно попробовать npm i pkg --force .
@AlexanderLonberg я его не устанавливал. он впервые установился после npx create-react-app , и сейчас после очистки кэша он устанавливается в кэш после npx create-react-app , и мой pkg устанавливается в кэш после удаления, так что всё я правильно сделал, и всё я доказал
@AlexanderLonberg кэш — это отдельная папка, это не глобальное хранилище, не node_modules (куда установит пакет ваша команда), это отдельная папка, путь к которой лежит в конфиге npm. у npx свой отдельный кэш —
Удерживая нажатой клавишу Shift, щелкните правой кнопкой мыши в пустой области папки и выберите: Открыть окно командной строки здесь.
войтиpython setup.py install Возврат каретки
После успешной установки откройте новое командное окно и введитеeasy_install Войдите, чтобы проверить
Если будет предложено:
error: No urls, filenames, or requirements specified (see –help)
Это означает, что установка прошла успешно, после запроса параметров необходимо указать параметры. к
Если будет предложено:
«Easy_install» не является внутренней или внешней командой или исполняемой программой или командным файлом. к
Пожалуйста, проверьте, сконфигурирован ли путь к переменной среды с помощью C: \ Python27 \ Scripts
Установить пункт
Если установлен setuptools, вы можете установить pip напрямую с помощью easy_install
Если вы все еще хотите установить вручную, шаги точно такие же, как установка setuptools (скриншот здесь не прилагается)
Загрузите сжатый пакет pip pip-8.1.2-py2.py3-none-any.whl
Это сжатый файл, разархивируйте его на рабочий стол и войдите в папку
Удерживая клавишу Shift, щелкните правой кнопкой мыши в пустом месте папки, выберите: откройте командное окно здесь, введите python setup.py install и нажмите Enter
После успешной установки вы можете открыть новое командное окно, ввести pip и нажать Enter, чтобы проверить
Если будет предложено:
Did not provide a command
Это означает, что установка прошла успешно, потому что pip также должен сопровождаться параметрами
Если будет предложено:
«Pip» не является ни внутренней, ни внешней командой, ни исполняемой программой, ни командным файлом. к
Пожалуйста, проверьте, сконфигурирован ли путь к переменной среды с помощью C: \ Python27 \ Scripts
Читайте также: