今天在使用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_paths ~/.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