首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装eslint pre-commit挂钩错误

安装eslint pre-commit挂钩错误
EN

Stack Overflow用户
提问于 2020-07-08 13:57:30
回答 1查看 345关注 0票数 0

我正在尝试安装eslint预提交钩子(https://github.com/pre-commit/mirrors-eslint)。

这是我的预提交文件中的条目:

代码语言:javascript
复制
-   repo: https://github.com/pre-commit/mirrors-eslint
    rev: 'v7.4.0'
    hooks:
    -   id: eslint

但是,当我运行pre-commit时,我得到了以下结果:

代码语言:javascript
复制
[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时,它可以工作,这证实了它是作为独立安装的,它也可以像预期的那样工作。

EN

回答 1

Stack Overflow用户

发布于 2020-07-08 14:53:59

只需使用nodeenv --尝试以下命令,您就可以在没有预提交的情况下重现此崩溃:

代码语言:javascript
复制
nodeenv nenv --prebuilt --clean-src

我认为这是可能的唯一方法是,如果你有一个nodeenv配置文件,其中包含with_npm = truenpm = ... ( npm的一些非常旧的版本,它不附带npm.cmd文件)。

您可以尝试从您的配置文件中删除这些内容吗?我相信它可以在以下任何一个地方:

  • ./tox.ini
  • ./setup.cfg
  • %HOMEPATH%/.nodeenvrc
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62788432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档