php 7.3更新后php-cs-fixer停止工作

时间:2018-12-08 16:56:45

标签: homebrew php-7

我正在使用Homebrew来管理它们,并且它们都是最新的。

~ $ brew --version
Homebrew 1.8.4
Homebrew/homebrew-core (git revision a166; last commit 2018-12-08)

~ $ php --version
PHP 7.3.0 (cli) (built: Dec  7 2018 11:00:11) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.0, Copyright (c) 1999-2018, by Zend Technologies

~ $ php-cs-fixer --version
PHP needs to be a minimum version of PHP 5.6.0 and maximum version of PHP 7.2.*.

~ $ brew upgrade php-cs-fixer
Error: php-cs-fixer 2.13.1 already installed

当我尝试使用php-cs-fixer

时会发生这种情况
~ $ php-cs-fixer fix file.php
PHP needs to be a minimum version of PHP 5.6.0 and maximum version of PHP 7.2.*.

因此,我下载了php@7.2和php-cs-fixer.phar进行测试,并且可以这样工作。

~ $ /usr/local/Cellar/php@7.2/7.2.13/bin/php /Users/aaronk/php-cs-fixer.phar fix file.php
Loaded config default from "/Users/aaronk/.php_cs".
Using cache file ".php_cs.cache".
Paths from configuration file have been overridden by paths provided as command arguments.
   1) file.php

Fixed all files in 0.014 seconds, 10.000 MB memory used
~ $

所以我的问题是,如何使自制的php-cs-fixer工作? 自制酒在这里做错了吗?

(p.s。是否有php7.3的标记)

5 个答案:

答案 0 :(得分:2)

正如Godbout所说,PHP-CS-Fixer不支持PHP 7.3。您可以跟踪GitHub问题[Meta] PHP 7.3 support #3697,以跟踪情况的发展。根据此问题,仍需要解决PHP 7.3中的以下更改:

  

答案 1 :(得分:0)

与Homebrew无关。 php-cs-fixer本身不支持PHP7.3。您将通过composer遇到相同的问题,但依赖关系未得到满足。

答案 2 :(得分:0)

mentioned issues与PH PC Fixer代码无关,而与它的功能有关。显然是composer.json的误用,那里是依赖项,而不是功能。

PHP CS Fixer在PHP 7.3上运行良好,请参见this PR

此命令允许您将其安装在PHP 7.3上

composer update --ignore-platform-reqs

如果您遇到任何麻烦,请告诉我。

答案 3 :(得分:0)

为了澄清-在PHP 7.3下运行的PHP CS Fixer可能会修复使用PHP 7.2之前的语法编写的代码。但是,如果要在用7.3编写的代码上运行工具,例如is_null($foo, )(后跟逗号),则修复程序的行为将不稳定(产生null === $foo,-仍然带有后缀逗号),这是一个问题。

答案 4 :(得分:0)

当前版本"friendsofphp/php-cs-fixer": "^2.14"现在支持php 7.3。您可以对其进行升级,并且应该可以正常工作。