使用 Husky 时出现预提交错误“找不到模块 - npx-cli.js”

Posted

技术标签:

【中文标题】使用 Husky 时出现预提交错误“找不到模块 - npx-cli.js”【英文标题】:Pre-Commit Error 'Cannot Find Module - npx-cli.js' When Using Husky 【发布时间】:2021-03-17 09:15:08 【问题描述】:

我正在尝试运行一个预提交挂钩,该挂钩使用 husky 和 ​​stylelint 检查我的样式,但是当我尝试提交文件时,GitKracken 失败。日志内容如下:

Error: Cannot find module C:\Users\name\AppData\Roaming\npm\node_modules\npm\bin\npx-cli.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:793:17)
    at Function.Module._load (internal/modules/cjs/loader.js:686:27)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10)
    at internal/main/run_main_module.js:17:11 
code: 'MODULE_NOT FOUND',
requireStack: []    

我正在运行 npm 版本:6.13.4 和节点版本:12.14.1。根据我的研究,npx 已经与 npm 一起安装在超过 5 个左右的任何版本中。我也尝试过全局安装 npx,但无法安装声明文件已存在。

我确定这是一个路径问题,或者我可能错误地使用了 husky,但我想看看是否有人知道为什么我在让它工作时遇到问题。感谢您提供的任何见解。

package.json

// I've tested rand the stylelint command manually and it does check for stylelint errors


"husky": 
    "hooks": 
      "pre-commit": "node ./node_modules/stylelint/bin/stylelint.js ./src/scss/**/*.scss"
    
  

【问题讨论】:

【参考方案1】:

您很可能已将 Husky 从 v4 更新到 v7,请查看 migration guide。

【讨论】:

以上是关于使用 Husky 时出现预提交错误“找不到模块 - npx-cli.js”的主要内容,如果未能解决你的问题,请参考以下文章

节点 --experimental-modules - 错误:找不到模块

找不到模块角度/动画

发出 git commit 命令时出现纱线错误

Husky 预提交钩子和压缩提交

颤振:致命错误:找不到模块“firebase_analytics”

Git: husky > pre-commit (node v14.16.1)