使用 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 - 错误:找不到模块