当前位置:   article > 正文

解决git commit 时出现ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND 报错的问题_git commit pnpm

git commit pnpm

异常现象

项目中拉取了soybean-admin的代码后,通过pnpm install命令安装依赖库,随后通过git提交代码时出现以下报错:

$ git commit -m "init: 初始化前端仓库,基于SoybeanAdmin"
ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND  No package.json (or package.yaml, or package.json5) was found in "C:\Users\xxxx".
  • 1
  • 2

对比另一项目,该项目同样使用pnpm管理,却未出现此问题,因此可确认与pnpm环境无关,应当是依赖引入的问题。

原因分析

经确认,此问题由Git hook产生,即安装依赖的过程中,某个环节配置了git hook,该hook中配置了基于pnpm的校验机制,导致了此异常产生。

导致异常的git hook出现在前端代码的package.json中,如下所示:
在这里插入图片描述
在package.json中存在此git hook配置时,运行pnpm install命令时将会配置对应的git hook操作
在这里插入图片描述
而我的前端代码并非项目的根目录,因此执行hook命令时出现上述报错,其本质原因为:hook命令执行的路径不正确

解决方案

  • 临时方案:在git提交命令中增加参数--no-verify ,例如git commit --no-verify -m "xxxxxx" ,此选项将忽略hook命令的执行,直接完成提交;
  • 长期方案:修改package.json中相关hook配置,使其能够正常通过,如下所示:
    在这里插入图片描述
    修改后验证可以成功完成提交。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/988492
推荐阅读
相关标签
  

闽ICP备14008679号