phpcs踩坑:.git/hooks/pre-commit: 行 10: phpcs:未找到命令

39 篇文章 0 订阅

今天在使用git commit命令时遇到报错:
.git/hooks/pre-commit: 行 10: phpcs:未找到命令
在这里插入图片描述
上午还好好的,下午就报这错了,一开始想不应该是找不到啊,毕竟一直在用,想着找其他原因,结果找了半天都没找到,就到phpcs命令目录下执行 phpcs:
在这里插入图片描述
好嘛,看来是不知道啥原因,phpcs失踪了,重新安装:
在这里插入图片描述
再次执行命令:
在这里插入图片描述
未安装“Drupal”编码标准。
参考: https://www.drupal.org/project/infrastructure/issues/2899912

执行命令(注意coder_sniffer的路径需要根据实际情况来):
phpcs --config-set installed_pa​​ths ~/.composer/vendor/drupal/coder/coder_sniffer

执行commit命令的时候,报错:
在这里插入图片描述
drupal coding没安装好,来重新设置下:
在这里插入图片描述

export PATH="$PATH:$HOME/.composer/vendor/bin"
set PATH $PATH $HOME/.composer/vendor/bin

参考:https://www.drupal.org/docs/contributed-modules/code-review-module/installing-coder-sniffer

再次执行commit命令:
在这里插入图片描述
解决:
执行下面命令重新安装:

composer global require "squizlabs/php_codesniffer=*"
composer global require drupal/coder

新问题:
ERROR: Referenced sniff “SlevomatCodingStandard.ControlStructures.RequireNullCoalesceOperator” does not exist
解决:

phpcs --config-set installed_paths /homeriverz/.config/composer/vendor/phpcompatibility/php-compatibility,/homeriverz/.config/composer/vendor/drupal/coder/coder_sniffer,/homeriverz/.config/composer/vendor/slevomat/coding-standard

确保安装了 slevomat:

composer require slevomat/coding-standard:^7.0
phpcs --config-set installed_paths /homeriverz/.config/composer/vendor/phpcompatibility/php-compatibility,/homeriverz/.config/composer/vendor/drupal/coder/coder_sniffer,/homeriverz/.config/composer/vendor/slevomat/coding-standard,/homeriverz/.config/composer/vendor/squizlabs/php_codesniffer,/homeriverz/.config/composer/vendor/sirbrillig/phpcs-variable-analysis

新问题:
提示coder_sniff下的文件中存在即将过期变量
在这里插入图片描述
解决:
1、在github上找到了对应的文件,但是仍然提示,只是换了一个常量。看来不是最新的。
2、我是找同事那拿了一份这个文件覆盖了我本地的,就解决了。

参考 :
https://www.drupal.org/project/coder/issues/3262291
https://www.drupal.org/project/coder/issues/3010032

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值