代客在Mac上安装 - 无法重新声明

时间:2016-05-16 11:16:48

标签: php laravel

我正在我的MacBook Pro上安装代客 - El Capitan。

我按照Valet文档页面的建议,使用Homebrew安装了PHP和MySQL。

但是,当我尝试安装代客时,我收到错误:

  

PHP致命错误:无法在/Users/marc/.composer/vendor/laravel/valet中重新声明resolve()(之前在/Users/marc/.composer/vendor/hoa/core/Protocol.php:1140中声明)第57行/cli/includes/helpers.php

     

致命错误:无法在/Users/marc/.composer/vendor/laravel/valet/中重新声明resolve()(之前在/Users/marc/.composer/vendor/hoa/core/Protocol.php:1140中声明)第57行的cli / includes / helpers.php

我的composer.json文件如下所示:

{
    "require": {
        "phpunit/phpunit": "~4.2",
        "phpmetrics/phpmetrics": "^1.10",
        "laravel/valet": "^1.1"
    }
}

我尝试删除composer.lock并删除了供应商目录,然后删除了composer install,但没有任何变化。有人在这有什么建议吗?

3 个答案:

答案 0 :(得分:3)

我最近碰到了这个,我可以通过卸载/重新安装代客解决它:

composer global remove laravel/valet

然后

composer global require laravel/valet

答案 1 :(得分:2)

基本上有两种方法称为同一种,一种称为 /Users/marc/.composer/vendor/hoa/core/Protocol.php第1140行

和第57行的/Users/marc/.composer/vendor/laravel/valet/cli/includes/helpers.php中的另一个。

快速解决方法是删除phpmetrics/phpmetrics依赖关系并再次运行composer install

好的是,在这两个地方他们都会检查函数是否存在,所以你可以自己声明它。

如果在加载vendor/autoload.php文件之前声明自己的版本,如果您可以控制它。所以你可以声明它在Laravels helpers.php

中做它目前做的事情

答案 2 :(得分:0)

我看到你解决了你的问题,但后人:

您可能已经跑过:composer global require "laravel/laravel"

然后跑:composer global require "laravel/installer"

运行:composer global remove "laravel/laravel"以摆脱重复。