Это может быть не кеш eslint.
Я работаю в проекте, использующем пользовательский плагин eslint, на который есть ссылка в package.json локально (не опубликовано в npm).
"special-eslint-plugin": "file:special-eslint-plugin-directory"
Но затем я переключаюсь на более старую ветку, в которой этот пакет НЕ установлен.Это не установлено в node_modules, это не в package.json или shrinkwrap, это не локальный каталог.И когда я запускаю «npm run lint» (который запускает grunt lint), я получаю вывод этого терминала:
10:31 AM app ? $ npm run lint
npm info it worked if it ends with ok
npm info using npm@5.5.1
npm info using node@v8.9.2
npm info lifecycle phApp@1.77.0~prelint: phApp@1.77.0
npm info lifecycle phApp@1.77.0~lint: phApp@1.77.0
> phApp@1.77.0 lint /Users/****/Desktop/app/app/
> grunt lint
Running "lint" task
Running "eslint:target" (eslint) task
Warning: Failed to load plugin special-eslint-plugin: Cannot find module 'special-eslint-plugin' Use --force to continue.
Aborted due to warnings.
Execution Time (2018-10-09 10:31:52 UTC-7)
/ ... /
npm info lifecycle phApp@1.77.0~lint: Failed to exec lint script
npm ERR! code ELIFECYCLE
npm ERR! errno 6
npm ERR! phApp@1.77.0 lint: `grunt lint`
npm ERR! Exit status 6
npm ERR!
npm ERR! Failed at the phApp@1.77.0 lint script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/***/.npm/_logs/2018-10-09T17_31_53_336Z-debug.log
Так что я думаю, что каким-то образом кэш eslint сохраняется во всех ветвях и думает, что ему нужен этот пакет.
Вещи, которые я пробовал, но не ограничиваясь ими:
git clean -xfd && npm cache clear --force && nvm use && npm install
- Переустановка узла & npm
- Переустановка nvm
- Удаление всех моих глобальных пакетов
- Отключение всех пакетов редактора (в IDE у меня были линтеры)
- Удаление локальной ветки
- Перезагрузка компьютера
Я использую:
- Grunt
- grunt-eslint
- "узел": "8.9.2"
- "npm": "5.5.1"
- nvm 0.30.2
Существует git hook, который запускает lint, поэтому он мешает мне выполнить работу над этой веткой
Самая интересная частьчто это не происходит на моих коллегах по машинам после того, как они переключаются на ветку, в которой я нахожусь, и запускаем вышеупомянутую команду git clean.Так что это как-то связано с моим компьютером, а не с веткой.
Спасибо