Установка ловушки ошибок pre-commit eslint
Я пытаюсь установить ловушку предварительной фиксации eslint (https://github.com/pre-commit/mirrors-eslint)
Это запись в моем файле предварительной фиксации:
- repo: https://github.com/pre-commit/mirrors-eslint
rev: 'v7.4.0'
hooks:
- id: eslint
Однако, когда я запускаю предварительную фиксацию, я получаю следующее:
[INFO] Initializing environment for https://github.com/pre-commit/mirrors-eslint.
[INFO] Initializing environment for https://github.com/pre-commit/mirrors-eslint:eslint@7.4.0.
[INFO] Installing environment for https://github.com/pre-commit/mirrors-eslint.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
An unexpected error has occurred: CalledProcessError: Command: ('c:\\users\\username\\appdata\\local\\programs\\python\\python38\\python.exe', '-mnodeenv', '--prebuilt', '--clean-src', '\\\\?\\C:\\Users\\username\\.cache\\pre-commit\\repow421i8dr\\node_env-default')
Return code: 1
Expected return code: 0
Output: (none)
Errors:
* Install prebuilt node (14.5.0) ..... done.
symbolic link created for \\?\C:\Users\username\.cache\pre-commit\repow421i8dr\node_env-default\Scripts\nodejs.exe <<===>> node.exe
* Install npm.js (latest) ... Traceback (most recent call last):
File "c:\users\username\appdata\local\programs\python\python38\lib\runpy.py", line 193, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\users\username\appdata\local\programs\python\python38\lib\runpy.py", line 86, in _run_code
exec(code, run_globals)
File "c:\users\username\appdata\local\programs\python\python38\lib\site-packages\nodeenv.py", line 1462, in <module>
main()
File "c:\users\username\appdata\local\programs\python\python38\lib\site-packages\nodeenv.py", line 1071, in main
create_environment(env_dir, opt)
File "c:\users\username\appdata\local\programs\python\python38\lib\site-packages\nodeenv.py", line 911, in create_environment
instfunc(env_dir, src_dir, opt)
File "c:\users\username\appdata\local\programs\python\python38\lib\site-packages\nodeenv.py", line 762, in install_npm_win
shutil.copy(join(src_dir, npm_ver, 'bin', 'npm.cmd'),
File "c:\users\username\appdata\local\programs\python\python38\lib\shutil.py", line 415, in copy
copyfile(src, dst, follow_symlinks=follow_symlinks)
File "c:\users\username\appdata\local\programs\python\python38\lib\shutil.py", line 261, in copyfile
with open(src, 'rb') as fsrc, open(dst, 'wb') as fdst:
FileNotFoundError: [Errno 2] No such file or directory: '\\\\?\\C:\\Users\\username\\.cache\\pre-commit\\repow421i8dr\\node_env-default\\src\\npm-latest\\bin\\npm.cmd'
Check the log at C:\Users\username/.cache\pre-commit\pre-commit.log
Я не понимаю, что это за файл и зачем он нужен eslint. Eslint работает, когда я использую его непосредственно из терминала, что подтверждает, что он установлен как автономный и работает по назначению.
1 ответ
Вы сможете воспроизвести этот сбой без предварительной фиксации, просто используя nodeenv - попробуйте следующее:
nodeenv nenv --prebuilt --clean-src
Единственный способ увидеть, что это возможно, - это если у вас есть файл конфигурации nodeenv, в котором with_npm = true
а также npm = ...
(очень старая версия npm, в которой нет npm.cmd
файл)
Не могли бы вы попробовать удалить это содержимое из файла конфигурации? Я считаю, что это может быть в любом из следующих мест:
./tox.ini
./setup.cfg
%HOMEPATH%/.nodeenvrc